[link text](https://)• DOMAIN: Automotive Surveillance. • CONTEXT: Computer vision can be used to automate supervision and generate action appropriate action trigger if the event is predicted from the image of interest. For example a car moving on the road can be easily identified by a camera as make of the car, type, colour, number plates etc. • DATA DESCRIPTION: The Cars dataset contains 16,185 images of 196 classes of cars. The data is split into 8,144 training images and 8,041 testing images, where each class has been split roughly in a 50-50 split. Classes are typically at the level of Make, Model, Year, e.g. 2012 Tesla Model S or 2012 BMW M3 coupe. Data description: ‣ Train Images: Consists of real images of cars as per the make and year of the car. ‣ Test Images: Consists of real images of cars as per the make and year of the car. ‣ Train Annotation: Consists of bounding box region for training images. ‣ Test Annotation: Consists of bounding box region for testing images. Dataset has been attached along with this project. Please use the same for this capstone project. Original link to the dataset for your reference only: https://www.kaggle.com/jutrera/stanford-car-dataset-by-classes-folder [ for your reference only ] Reference: 3D Object Representations for Fine-Grained Categorisation, Jonathan Krause, Michael Stark, Jia Deng, Li Fei-Fei 4th IEEE Workshop on 3D Representation and Recognition, at ICCV 2013 (3dRR-13). Sydney, Australia. Dec. 8, 2013.
PROJECT OBJECTIVE: Design a DL based car identification model.
italicized text### MILESTONE 1
"""
NOTE :
During model run, There might be some issues like:
"cannot identify image file %r" % (filename if filename else fp)
PIL.UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x00000214A7DAE678>
To resolve this use below command inside your environment:
# pip install --upgrade Pillow <-- https://github.com/ContinuumIO/anaconda-issues/issues/10737
# uninstalling pillow installed using conda and re-installing using pip works
"""
'\nNOTE :\n During model run, There might be some issues like:\n "cannot identify image file %r" % (filename if filename else fp)\n PIL.UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x00000214A7DAE678>\n To resolve this use below command inside your environment:\n # pip install --upgrade Pillow <-- https://github.com/ContinuumIO/anaconda-issues/issues/10737\n # uninstalling pillow installed using conda and re-installing using pip works\n'
!pip install --upgrade Pillow
Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (10.4.0)
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
# Importing Libraries # A library is a collection of existing functions in python that can be used in your code
import numpy as np # NumPy is a Python library used for working with arrays.
#It also has functions for working in domain of linear algebra, fourier transform, and matrices.
import pandas as pd # Pandas is an open-source library in Python that is made mainly for working with relational or labeled data
#both easily and intuitively.
import matplotlib.pyplot as plt # Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
#%matplotlib inline # %matplotlib inline command ensures that Matplotlib plots are displayed inline within the notebook, directly below the code cell
import seaborn as sns # Seaborn is a library for making statistical graphics in Python. It builds on top of matplotlib and integrates
#closely with pandas data structures. Seaborn helps you explore and understand your data.
import warnings
warnings.filterwarnings("ignore")
from PIL import Image #PIL is the Python Imaging Library which provides the python interpreter with image editing capabilities.
import cv2 #
import os #Python has a built-in os module with methods for interacting with the operating system, like creating files and directories, management of files
# and directories, input, output, environment variables, process management, etc.
import glob # The Python glob module is used to retrieve files or directories that match a specified pattern.
#It is part of the standard library, so it does not require any installation.
!pip install np_utils
#from tensorflow.keras.utils import np_utils
#from keras.utils.np_utils
from sklearn.model_selection import train_test_split
from keras.models import Sequential #A Sequential model is appropriate for a plain stack of layers where each layer has exactly one input tensor and one output tensor.
from keras.layers import Dense # Keras dense layer on the output layer performs dot product of input tensor and weight kernel matrix. A bias vector is added and element-wise activation is performed on output values.
from keras.layers import Dropout #Dropout layer Applies Dropout to the input. The Dropout layer randomly sets input units to 0 with a frequency of rate at each step during training time, which helps prevent overfitting. Inputs not set to 0 are scaled up by 1/ (1 - rate) such that the sum over all inputs is unchanged.
from keras.layers import Flatten #Keras.layers.flatten function flattens the multi-dimensional input tensors into a single dimension.
#from keras.layers.convolutional import Conv2D
from tensorflow.keras.layers import Conv2D, MaxPooling2D
#layer creates a convolution kernel that is wind with layers input which helps produce a tensor of outputs.
#from keras.layers.convolutional import MaxPooling2D #Max pooling operation for 2D spatial data. Downsamples the input along its spatial dimensions (height and width) by taking the maximum value over an input window (of size defined by pool_size) for each channel of the input.
from keras.layers import BatchNormalization #atch normalization applies a transformation that maintains the mean output close to 0 and the output standard deviation close to 1. Importantly, batch normalization works differently during training and during inference.
from keras.callbacks import ModelCheckpoint,ReduceLROnPlateau,CSVLogger #The ModelCheckpoint callback class allows you to define where to checkpoint the model weights, how to name the file, and under what circumstances to make a checkpoint of the model.
# ReduceLROnPlateau callback monitors a quantity and if no improvement is seen for a 'patience' number of epochs, the learning rate is reduced.
from tensorflow.keras import optimizers
from keras.preprocessing.image import ImageDataGenerator #The ImageDataGenerator class in Keras provides a suite of techniques for scaling pixel values in your image dataset prior to modeling.
import tensorflow as tf #software library for numerical computation using data flow graphs
Collecting np_utils
Downloading np_utils-0.6.0.tar.gz (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.0/62.0 kB 2.4 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.0 in /usr/local/lib/python3.10/dist-packages (from np_utils) (1.25.2)
Building wheels for collected packages: np_utils
Building wheel for np_utils (setup.py) ... done
Created wheel for np_utils: filename=np_utils-0.6.0-py3-none-any.whl size=56441 sha256=188bb3ce495ef04fcdca2fc9960d7146edf3a865503e3934d2be363cd46ac3ce
Stored in directory: /root/.cache/pip/wheels/b6/c7/50/2307607f44366dd021209f660045f8d51cb976514d30be7cc7
Successfully built np_utils
Installing collected packages: np_utils
Successfully installed np_utils-0.6.0
import zipfile #ZipFile is used to write and read the Zip files. It has some methods which are used to handle the Zip files.
import shutil #Shutil module offers high-level operation on a file like a copy, create, and remote operation on the file
from google.colab import drive
drive.mount('/content/drive/') #to interact with your Google Drive files
Drive already mounted at /content/drive/; to attempt to forcibly remount, call drive.mount("/content/drive/", force_remount=True).
#Importing Train, test and car class data
df_CarClass = pd.read_csv('/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset_1/Car+names+and+make.csv',header=None, names=['Car Class'])
df_TestAnnot = pd.read_csv('/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset_1/Dataset/Annotations/Test Annotation.csv')
df_TrainAnnot = pd.read_csv('/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset_1/Dataset/Annotations/Train Annotations.csv')
column_names = ['Image Name', 'X', 'Y', 'Width', 'Height', 'Image Class']
df_TestAnnot.columns = column_names
df_TrainAnnot.columns = column_names
#Printing car class data
df_CarClass
# We notice there are 196 rows / car classes
| Car Class | |
|---|---|
| 0 | AM General Hummer SUV 2000 |
| 1 | Acura RL Sedan 2012 |
| 2 | Acura TL Sedan 2012 |
| 3 | Acura TL Type-S 2008 |
| 4 | Acura TSX Sedan 2012 |
| ... | ... |
| 191 | Volkswagen Beetle Hatchback 2012 |
| 192 | Volvo C30 Hatchback 2012 |
| 193 | Volvo 240 Sedan 1993 |
| 194 | Volvo XC90 SUV 2007 |
| 195 | smart fortwo Convertible 2012 |
196 rows × 1 columns
#Printing Test Annotation data
df_TestAnnot
#We notice that there are 8040 test images
| Image Name | X | Y | Width | Height | Image Class | |
|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 30 | 52 | 246 | 147 | 181 |
| 1 | 00002.jpg | 100 | 19 | 576 | 203 | 103 |
| 2 | 00003.jpg | 51 | 105 | 968 | 659 | 145 |
| 3 | 00004.jpg | 67 | 84 | 581 | 407 | 187 |
| 4 | 00005.jpg | 140 | 151 | 593 | 339 | 185 |
| ... | ... | ... | ... | ... | ... | ... |
| 8036 | 08037.jpg | 49 | 57 | 1169 | 669 | 63 |
| 8037 | 08038.jpg | 23 | 18 | 640 | 459 | 16 |
| 8038 | 08039.jpg | 33 | 27 | 602 | 252 | 17 |
| 8039 | 08040.jpg | 33 | 142 | 521 | 376 | 38 |
| 8040 | 08041.jpg | 77 | 73 | 506 | 380 | 32 |
8041 rows × 6 columns
#Printing Train annotation data
df_TrainAnnot
#We notice that there are 8144 test images
| Image Name | X | Y | Width | Height | Image Class | |
|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 |
| 1 | 00002.jpg | 36 | 116 | 868 | 587 | 3 |
| 2 | 00003.jpg | 85 | 109 | 601 | 381 | 91 |
| 3 | 00004.jpg | 621 | 393 | 1484 | 1096 | 134 |
| 4 | 00005.jpg | 14 | 36 | 133 | 99 | 106 |
| ... | ... | ... | ... | ... | ... | ... |
| 8139 | 08140.jpg | 3 | 44 | 423 | 336 | 78 |
| 8140 | 08141.jpg | 138 | 150 | 706 | 523 | 196 |
| 8141 | 08142.jpg | 26 | 246 | 660 | 449 | 163 |
| 8142 | 08143.jpg | 78 | 526 | 1489 | 908 | 112 |
| 8143 | 08144.jpg | 20 | 240 | 862 | 677 | 17 |
8144 rows × 6 columns
'''# NO NEED TO EXECUTE THIS CODE AGAIN AS RESULT STORED INTO CSV
# Reading from zipfile and storing the image metadata in a data frame for train and test along images in array
# Tried importing images into dataframe - but abandoned it after it was taking too much memory - respective code has been commented
#import io
df_test_images = pd.DataFrame(columns=['Filename','Label','Folder','Filepath','FileShape'])
df_train_images = pd.DataFrame(columns=['Filename','Label','Folder','Filepath','FileShape'])
with zipfile.ZipFile('/content/drive/MyDrive/Car+Images.zip') as zf:
for x in zf.namelist():
#print(x)
if x.endswith('.jpg') and 'Train' in x:
with zf.open(x) as f:
#print("Entered train loop")
#imgs = f.namelist()
img = Image.open(f)
#plt.imshow(img)
#img_data = img.convert('RGB')
image_as_array = np.array(img,np.uint8)
#print(image_as_array.shape)
#print(image_as_array)
#image = cv2.imdecode(image_as_array, cv2.IMREAD_COLOR)
#train_images.append(image_as_array)
#train_images_paths.append(x)
#train_image_shapes.append(len(image_as_array.shape))
tr1 = x.split('/')
file_name = tr1[len(tr1)-1]
label = tr1[len(tr1)-2]
#df_temp = pd.DataFrame.from_dict({'Filename': file_name, 'Label': label, 'Image': [image_as_array],
# 'Folder': 'train','Filepath': x, 'FileShape': img.shape})
#df_train_images['Filename'] = file_name
#df_train_images['Label'] = label
#X = image_as_array.reshape(-1, 3)
#df_train_images['Image'].append(pd.Series([image_as_array]))
#df_train_images['Folder'] = 'train'
#df_train_images['Filepath'] = x
#df_train_images['FileShape'] = [image_as_array.shape]
#print(df_train_images)
df_train_images = df_train_images.append({
'Filename': file_name,
'Label': label,
'Folder': 'train',
'Filepath': x,
'FileShape': image_as_array.shape
}, ignore_index=True)
if x.endswith('.jpg') and 'Test' in x:
with zf.open(x) as f:
img = Image.open(f)
image_as_array = np.array(img, np.uint8)
#test_images.append(image_as_array)
#test_images_paths.append(x)
#test_image_shapes.append(len(image_as_array.shape))
tr1 = x.split('/')
file_name = tr1[len(tr1)-1]
label = tr1[len(tr1)-2]
#df_test_images = df_test_images.append({'Filename': file_name, 'Label': label, 'Image': image_as_array,
#'Folder': 'test'}, ignore_index=True)
#df_temp = pd.DataFrame.from_dict({'Filename': file_name, 'Label': label, 'Image': [image_as_array],
#'Folder': 'train','Filepath': x, 'FileShape': img.shape})
#df_temp.to_csv("/content/drive/MyDrive/df_test_images.csv",mode="a",header=False,index=False)
df_test_images = df_test_images.append({
'Filename': file_name,
'Label': label,
'Folder': 'test',
'Filepath': x,
'FileShape': image_as_array.shape}, ignore_index=True)
#Saving data frames into csv for easier execution next time
#df_train_images.to_csv("/content/drive/MyDrive/df_train_images.csv",mode="a",header=False,index=False)
#df_test_images.to_csv("/content/drive/MyDrive/df_train_images.csv",mode="a",header=False,index=False)
df_train_images.to_csv("/content/drive/MyDrive/df_train_images.csv",index=False)
df_test_images.to_csv("/content/drive/MyDrive/df_test_images.csv",index=False)'''
'# NO NEED TO EXECUTE THIS CODE AGAIN AS RESULT STORED INTO CSV\n# Reading from zipfile and storing the image metadata in a data frame for train and test along images in array\n# Tried importing images into dataframe - but abandoned it after it was taking too much memory - respective code has been commented\n#import io\ndf_test_images = pd.DataFrame(columns=[\'Filename\',\'Label\',\'Folder\',\'Filepath\',\'FileShape\'])\ndf_train_images = pd.DataFrame(columns=[\'Filename\',\'Label\',\'Folder\',\'Filepath\',\'FileShape\'])\n\nwith zipfile.ZipFile(\'/content/drive/MyDrive/Car+Images.zip\') as zf:\n for x in zf.namelist():\n #print(x)\n if x.endswith(\'.jpg\') and \'Train\' in x:\n with zf.open(x) as f:\n #print("Entered train loop")\n #imgs = f.namelist()\n img = Image.open(f)\n #plt.imshow(img)\n #img_data = img.convert(\'RGB\')\n image_as_array = np.array(img,np.uint8)\n #print(image_as_array.shape)\n #print(image_as_array)\n #image = cv2.imdecode(image_as_array, cv2.IMREAD_COLOR)\n #train_images.append(image_as_array)\n #train_images_paths.append(x)\n #train_image_shapes.append(len(image_as_array.shape))\n tr1 = x.split(\'/\')\n file_name = tr1[len(tr1)-1]\n label = tr1[len(tr1)-2]\n #df_temp = pd.DataFrame.from_dict({\'Filename\': file_name, \'Label\': label, \'Image\': [image_as_array],\n # \'Folder\': \'train\',\'Filepath\': x, \'FileShape\': img.shape})\n #df_train_images[\'Filename\'] = file_name\n #df_train_images[\'Label\'] = label\n #X = image_as_array.reshape(-1, 3)\n #df_train_images[\'Image\'].append(pd.Series([image_as_array]))\n #df_train_images[\'Folder\'] = \'train\'\n #df_train_images[\'Filepath\'] = x\n #df_train_images[\'FileShape\'] = [image_as_array.shape]\n #print(df_train_images)\n df_train_images = df_train_images.append({\n \'Filename\': file_name,\n \'Label\': label,\n \'Folder\': \'train\',\n \'Filepath\': x,\n \'FileShape\': image_as_array.shape\n }, ignore_index=True)\n\n if x.endswith(\'.jpg\') and \'Test\' in x:\n with zf.open(x) as f:\n img = Image.open(f)\n image_as_array = np.array(img, np.uint8)\n #test_images.append(image_as_array)\n #test_images_paths.append(x)\n #test_image_shapes.append(len(image_as_array.shape))\n tr1 = x.split(\'/\')\n file_name = tr1[len(tr1)-1]\n label = tr1[len(tr1)-2]\n #df_test_images = df_test_images.append({\'Filename\': file_name, \'Label\': label, \'Image\': image_as_array,\n #\'Folder\': \'test\'}, ignore_index=True)\n #df_temp = pd.DataFrame.from_dict({\'Filename\': file_name, \'Label\': label, \'Image\': [image_as_array],\n #\'Folder\': \'train\',\'Filepath\': x, \'FileShape\': img.shape})\n #df_temp.to_csv("/content/drive/MyDrive/df_test_images.csv",mode="a",header=False,index=False)\n df_test_images = df_test_images.append({\n \'Filename\': file_name,\n \'Label\': label,\n \'Folder\': \'test\',\n \'Filepath\': x,\n \'FileShape\': image_as_array.shape}, ignore_index=True)\n\n#Saving data frames into csv for easier execution next time\n#df_train_images.to_csv("/content/drive/MyDrive/df_train_images.csv",mode="a",header=False,index=False)\n#df_test_images.to_csv("/content/drive/MyDrive/df_train_images.csv",mode="a",header=False,index=False)\ndf_train_images.to_csv("/content/drive/MyDrive/df_train_images.csv",index=False)\ndf_test_images.to_csv("/content/drive/MyDrive/df_test_images.csv",index=False)'
df_test_images = pd.read_csv('/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset/test_8041_images.csv')
df_train_images = pd.read_csv('/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset/train_8144_images.csv')
df_train_images
# Metadata for 8144 training images is imported along with file shape
| Unnamed: 0 | Label | File | ModelYear | car_Model | Image_Name | xmin | ymin | xmax | ymax | Class | Height | Width | imageAsArray | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | Volvo 240 Sedan 1993 | 02344.jpg | 1993 | Volvo 240 Sedan | 02344.jpg | 614 | 9 | 1279 | 329 | 194 | 329 | 1279 | [[[255 234 193]\n [253 231 190]\n [250 226 1... |
| 1 | 1 | Volvo 240 Sedan 1993 | 01431.jpg | 1993 | Volvo 240 Sedan | 01431.jpg | 17 | 158 | 779 | 462 | 194 | 533 | 800 | [[[225 209 192]\n [226 210 193]\n [226 210 1... |
| 2 | 2 | Volvo 240 Sedan 1993 | 07067.jpg | 1993 | Volvo 240 Sedan | 07067.jpg | 284 | 291 | 1247 | 732 | 194 | 772 | 1279 | [[[105 88 75]\n [ 91 74 61]\n [ 95 77 ... |
| 3 | 3 | Volvo 240 Sedan 1993 | 01853.jpg | 1993 | Volvo 240 Sedan | 01853.jpg | 270 | 320 | 999 | 763 | 194 | 768 | 1024 | [[[136 154 183]\n [133 151 180]\n [131 149 1... |
| 4 | 4 | Volvo 240 Sedan 1993 | 05376.jpg | 1993 | Volvo 240 Sedan | 05376.jpg | 36 | 172 | 772 | 514 | 194 | 600 | 800 | [[[126 121 130]\n [141 137 143]\n [138 134 1... |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 8139 | Volvo C30 Hatchback 2012 | 06111.jpg | 2012 | Volvo C30 Hatchback | 06111.jpg | 65 | 114 | 407 | 327 | 193 | 427 | 640 | [[[ 2 4 4]\n [ 0 2 2]\n [ 0 2 ... |
| 8140 | 8140 | Volvo C30 Hatchback 2012 | 07373.jpg | 2012 | Volvo C30 Hatchback | 07373.jpg | 45 | 39 | 419 | 272 | 193 | 303 | 455 | [[[ 27 29 40]\n [ 27 29 40]\n [ 26 28 ... |
| 8141 | 8141 | Volvo C30 Hatchback 2012 | 07454.jpg | 2012 | Volvo C30 Hatchback | 07454.jpg | 22 | 52 | 451 | 235 | 193 | 265 | 470 | [[[ 2 0 1]\n [ 1 2 0]\n [ 0 0 ... |
| 8142 | 8142 | Volvo C30 Hatchback 2012 | 06442.jpg | 2012 | Volvo C30 Hatchback | 06442.jpg | 42 | 69 | 477 | 289 | 193 | 331 | 500 | [[[20 37 86]\n [ 0 4 51]\n [ 0 4 48]\n ..... |
| 8143 | 8143 | Volvo C30 Hatchback 2012 | 05438.jpg | 2012 | Volvo C30 Hatchback | 05438.jpg | 15 | 142 | 461 | 296 | 193 | 360 | 480 | [[[0 0 0]\n [0 0 0]\n [0 0 0]\n ...\n [0 0... |
8144 rows × 14 columns
df_test_images
# Metadata for 8041 testing images is imported along with file shape
| Unnamed: 0 | carName | imageName | carModel | carModel_1 | Height | Width | |
|---|---|---|---|---|---|---|---|
| 0 | 0 | Acura Integra Type R 2001 | 00130.jpg | 2001 | Acura Integra Type R | 458 | 800 |
| 1 | 1 | Acura Integra Type R 2001 | 01002.jpg | 2001 | Acura Integra Type R | 823 | 551 |
| 2 | 2 | Acura Integra Type R 2001 | 00128.jpg | 2001 | Acura Integra Type R | 600 | 900 |
| 3 | 3 | Acura Integra Type R 2001 | 01176.jpg | 2001 | Acura Integra Type R | 1200 | 1600 |
| 4 | 4 | Acura Integra Type R 2001 | 00565.jpg | 2001 | Acura Integra Type R | 380 | 545 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 8036 | Toyota Sequoia SUV 2012 | 01743.jpg | 2012 | Toyota Sequoia SUV | 480 | 640 |
| 8037 | 8037 | Toyota Sequoia SUV 2012 | 07608.jpg | 2012 | Toyota Sequoia SUV | 360 | 480 |
| 8038 | 8038 | Toyota Sequoia SUV 2012 | 03426.jpg | 2012 | Toyota Sequoia SUV | 480 | 640 |
| 8039 | 8039 | Toyota Sequoia SUV 2012 | 06136.jpg | 2012 | Toyota Sequoia SUV | 1575 | 2100 |
| 8040 | 8040 | Toyota Sequoia SUV 2012 | 00874.jpg | 2012 | Toyota Sequoia SUV | 320 | 640 |
8041 rows × 7 columns
Performed below steps to import train and test images using ImageDataGenerator Class
# Need to install keras-preprocessing for ImageDataGenerator
!pip install keras-preprocessing
Collecting keras-preprocessing
Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.6/42.6 kB 4.3 MB/s eta 0:00:00
Requirement already satisfied: numpy>=1.9.1 in /usr/local/lib/python3.10/dist-packages (from keras-preprocessing) (1.25.2)
Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from keras-preprocessing) (1.16.0)
Installing collected packages: keras-preprocessing
Successfully installed keras-preprocessing-1.1.2
data_dir = '/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset'
data_dir_tmp = '/tmp/image_dataset'
'''#ONE TIME CODE: NO NEED TO EXECUTE THIS CODE AGAIN AS DATA IS ALREADY UNZIPPED
#unzipping given data file
import zipfile
with zipfile.ZipFile(data_dir + '.zip', 'r') as zip_ref:
zip_ref.extractall(data_dir+data_dir_tmp)'''
"#ONE TIME CODE: NO NEED TO EXECUTE THIS CODE AGAIN AS DATA IS ALREADY UNZIPPED\n#unzipping given data file\nimport zipfile\n\nwith zipfile.ZipFile(data_dir + '.zip', 'r') as zip_ref:\n zip_ref.extractall(data_dir+data_dir_tmp)"
# Use image data generator to import data for Train and test
# Reference: https://machinelearningmastery.com/how-to-load-large-datasets-from-directories-for-deep-learning-with-keras/
from keras_preprocessing.image import ImageDataGenerator
# create a data generator
datagen = ImageDataGenerator(rescale=1./255)
# load and iterate training dataset - by defeault loads 256 x 256 format
train_images = datagen.flow_from_directory(data_dir + '/Car Images/Train Images', class_mode='categorical', target_size=(224, 224), batch_size=64)
# load and iterate test dataset
test_images = datagen.flow_from_directory(data_dir + '/Car Images/Test Images', class_mode='categorical', target_size=(224, 224), batch_size=64)
Found 8279 images belonging to 196 classes. Found 8084 images belonging to 196 classes.
#Test the iterators
# confirm the iterator works
batchX, batchy = train_images.next()
print('Batch shape=%s, min=%.3f, max=%.3f' % (batchX.shape, batchX.min(), batchX.max()))
# We see that it has imported 64 images with 224,224,3 resolution
Batch shape=(64, 224, 224, 3), min=0.000, max=1.000
# Convering training and testing Car class data to int
df_TrainAnnot['Image Class'] = df_TrainAnnot['Image Class'].astype(int)
df_TestAnnot['Image Class'] = df_TestAnnot['Image Class'].astype(int)
#Adding 1 to map to correct classes
df_CarClass['Image Class'] = df_CarClass.index+1
#Mapping training and testing images to its class
df_TrainAnnot = pd.merge(df_TrainAnnot,df_CarClass, left_on='Image Class',right_on='Image Class')
df_TestAnnot = pd.merge(df_TestAnnot,df_CarClass, left_on='Image Class',right_on='Image Class')
df_TrainAnnot
| Image Name | X | Y | Width | Height | Image Class | Car Class | |
|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 | Audi TTS Coupe 2012 |
| 1 | 00017.jpg | 39 | 52 | 233 | 150 | 14 | Audi TTS Coupe 2012 |
| 2 | 00411.jpg | 52 | 47 | 586 | 260 | 14 | Audi TTS Coupe 2012 |
| 3 | 00467.jpg | 47 | 92 | 209 | 178 | 14 | Audi TTS Coupe 2012 |
| 4 | 00888.jpg | 7 | 51 | 253 | 156 | 14 | Audi TTS Coupe 2012 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 07074.jpg | 33 | 33 | 605 | 376 | 78 | Chrysler Town and Country Minivan 2012 |
| 8140 | 07104.jpg | 41 | 79 | 593 | 355 | 78 | Chrysler Town and Country Minivan 2012 |
| 8141 | 07123.jpg | 95 | 39 | 322 | 230 | 78 | Chrysler Town and Country Minivan 2012 |
| 8142 | 07326.jpg | 207 | 387 | 1446 | 835 | 78 | Chrysler Town and Country Minivan 2012 |
| 8143 | 08140.jpg | 3 | 44 | 423 | 336 | 78 | Chrysler Town and Country Minivan 2012 |
8144 rows × 7 columns
df_TestAnnot
| Image Name | X | Y | Width | Height | Image Class | Car Class | |
|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 30 | 52 | 246 | 147 | 181 | Suzuki Aerio Sedan 2007 |
| 1 | 00055.jpg | 84 | 169 | 561 | 443 | 181 | Suzuki Aerio Sedan 2007 |
| 2 | 00323.jpg | 12 | 31 | 489 | 226 | 181 | Suzuki Aerio Sedan 2007 |
| 3 | 00540.jpg | 7 | 121 | 635 | 357 | 181 | Suzuki Aerio Sedan 2007 |
| 4 | 00541.jpg | 9 | 42 | 282 | 207 | 181 | Suzuki Aerio Sedan 2007 |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 06464.jpg | 23 | 73 | 430 | 278 | 77 | Chrysler Sebring Convertible 2010 |
| 8037 | 06484.jpg | 36 | 218 | 522 | 467 | 77 | Chrysler Sebring Convertible 2010 |
| 8038 | 07046.jpg | 24 | 63 | 336 | 235 | 77 | Chrysler Sebring Convertible 2010 |
| 8039 | 07596.jpg | 19 | 30 | 417 | 194 | 77 | Chrysler Sebring Convertible 2010 |
| 8040 | 07644.jpg | 72 | 153 | 474 | 344 | 77 | Chrysler Sebring Convertible 2010 |
8041 rows × 7 columns
#Mapped traing data to annotations
mapped_train = pd.merge(df_TrainAnnot ,df_train_images, left_on=['Image Name'],right_on=['File'])
mapped_train
| Image Name | X | Y | Width_x | Height_x | Image Class | Car Class | Unnamed: 0 | Label | File | ... | car_Model | Image_Name | xmin | ymin | xmax | ymax | Class | Height_y | Width_y | imageAsArray | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 | Audi TTS Coupe 2012 | 1274 | Audi TTS Coupe 2012 | 00001.jpg | ... | Audi TTS Coupe | 00001.jpg | 39 | 116 | 569 | 375 | 14 | 400 | 600 | [[[123 119 101]\n [120 116 98]\n [115 111 ... |
| 1 | 00017.jpg | 39 | 52 | 233 | 150 | 14 | Audi TTS Coupe 2012 | 1311 | Audi TTS Coupe 2012 | 00017.jpg | ... | Audi TTS Coupe | 00017.jpg | 39 | 52 | 233 | 150 | 14 | 194 | 259 | [[[127 103 115]\n [104 80 92]\n [111 87 ... |
| 2 | 00411.jpg | 52 | 47 | 586 | 260 | 14 | Audi TTS Coupe 2012 | 1303 | Audi TTS Coupe 2012 | 00411.jpg | ... | Audi TTS Coupe | 00411.jpg | 52 | 47 | 586 | 260 | 14 | 330 | 600 | [[[212 210 210]\n [201 199 199]\n [211 209 2... |
| 3 | 00467.jpg | 47 | 92 | 209 | 178 | 14 | Audi TTS Coupe 2012 | 1282 | Audi TTS Coupe 2012 | 00467.jpg | ... | Audi TTS Coupe | 00467.jpg | 47 | 92 | 209 | 178 | 14 | 194 | 259 | [[[241 242 233]\n [246 247 238]\n [252 253 2... |
| 4 | 00888.jpg | 7 | 51 | 253 | 156 | 14 | Audi TTS Coupe 2012 | 1297 | Audi TTS Coupe 2012 | 00888.jpg | ... | Audi TTS Coupe | 00888.jpg | 7 | 51 | 253 | 156 | 14 | 194 | 259 | [[[244 244 244]\n [244 244 244]\n [244 244 2... |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8139 | 07074.jpg | 33 | 33 | 605 | 376 | 78 | Chrysler Town and Country Minivan 2012 | 3069 | Chrysler Town and Country Minivan 2012 | 07074.jpg | ... | Chrysler Town and Country Minivan | 07074.jpg | 33 | 33 | 605 | 376 | 78 | 427 | 640 | [[[182 178 167]\n [183 179 168]\n [184 180 1... |
| 8140 | 07104.jpg | 41 | 79 | 593 | 355 | 78 | Chrysler Town and Country Minivan 2012 | 3047 | Chrysler Town and Country Minivan 2012 | 07104.jpg | ... | Chrysler Town and Country Minivan | 07104.jpg | 41 | 79 | 593 | 355 | 78 | 384 | 630 | [[[ 77 84 101]\n [ 79 86 103]\n [ 76 83 1... |
| 8141 | 07123.jpg | 95 | 39 | 322 | 230 | 78 | Chrysler Town and Country Minivan 2012 | 3049 | Chrysler Town and Country Minivan 2012 | 07123.jpg | ... | Chrysler Town and Country Minivan | 07123.jpg | 95 | 39 | 322 | 230 | 78 | 266 | 400 | [[[ 50 56 55]\n [ 58 64 63]\n [ 53 60 ... |
| 8142 | 07326.jpg | 207 | 387 | 1446 | 835 | 78 | Chrysler Town and Country Minivan 2012 | 3066 | Chrysler Town and Country Minivan 2012 | 07326.jpg | ... | Chrysler Town and Country Minivan | 07326.jpg | 207 | 387 | 1446 | 835 | 78 | 1067 | 1600 | [[[205 187 176]\n [205 187 176]\n [205 187 1... |
| 8143 | 08140.jpg | 3 | 44 | 423 | 336 | 78 | Chrysler Town and Country Minivan 2012 | 3050 | Chrysler Town and Country Minivan 2012 | 08140.jpg | ... | Chrysler Town and Country Minivan | 08140.jpg | 3 | 44 | 423 | 336 | 78 | 360 | 424 | [[[255 255 255]\n [255 255 255]\n [255 255 2... |
8144 rows × 21 columns
#Mapped testing data to annotations
mapped_test = pd.merge(df_TestAnnot,df_test_images, left_on=['Image Name'],right_on=['imageName'])
mapped_test
| Image Name | X | Y | Width_x | Height_x | Image Class | Car Class | Unnamed: 0 | carName | imageName | carModel | carModel_1 | Height_y | Width_y | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 30 | 52 | 246 | 147 | 181 | Suzuki Aerio Sedan 2007 | 7710 | Suzuki Aerio Sedan 2007 | 00001.jpg | 2007 | Suzuki Aerio Sedan | 182 | 276 |
| 1 | 00055.jpg | 84 | 169 | 561 | 443 | 181 | Suzuki Aerio Sedan 2007 | 7706 | Suzuki Aerio Sedan 2007 | 00055.jpg | 2007 | Suzuki Aerio Sedan | 480 | 640 |
| 2 | 00323.jpg | 12 | 31 | 489 | 226 | 181 | Suzuki Aerio Sedan 2007 | 7705 | Suzuki Aerio Sedan 2007 | 00323.jpg | 2007 | Suzuki Aerio Sedan | 238 | 499 |
| 3 | 00540.jpg | 7 | 121 | 635 | 357 | 181 | Suzuki Aerio Sedan 2007 | 7709 | Suzuki Aerio Sedan 2007 | 00540.jpg | 2007 | Suzuki Aerio Sedan | 480 | 640 |
| 4 | 00541.jpg | 9 | 42 | 282 | 207 | 181 | Suzuki Aerio Sedan 2007 | 7708 | Suzuki Aerio Sedan 2007 | 00541.jpg | 2007 | Suzuki Aerio Sedan | 255 | 340 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 8036 | 06464.jpg | 23 | 73 | 430 | 278 | 77 | Chrysler Sebring Convertible 2010 | 3258 | Chrysler Sebring Convertible 2010 | 06464.jpg | 2010 | Chrysler Sebring Convertible | 304 | 450 |
| 8037 | 06484.jpg | 36 | 218 | 522 | 467 | 77 | Chrysler Sebring Convertible 2010 | 3289 | Chrysler Sebring Convertible 2010 | 06484.jpg | 2010 | Chrysler Sebring Convertible | 480 | 640 |
| 8038 | 07046.jpg | 24 | 63 | 336 | 235 | 77 | Chrysler Sebring Convertible 2010 | 3276 | Chrysler Sebring Convertible 2010 | 07046.jpg | 2010 | Chrysler Sebring Convertible | 263 | 350 |
| 8039 | 07596.jpg | 19 | 30 | 417 | 194 | 77 | Chrysler Sebring Convertible 2010 | 3288 | Chrysler Sebring Convertible 2010 | 07596.jpg | 2010 | Chrysler Sebring Convertible | 221 | 441 |
| 8040 | 07644.jpg | 72 | 153 | 474 | 344 | 77 | Chrysler Sebring Convertible 2010 | 3275 | Chrysler Sebring Convertible 2010 | 07644.jpg | 2010 | Chrysler Sebring Convertible | 423 | 624 |
8041 rows × 14 columns
# Creating a function to display random images with bounding box
# Creating a function to display random images with bounding box
def display_bounded_images(df,number):
random_df = df.sample(number) #This will pick a random number of samples from the dataframe
fig, ax = plt.subplots(number, 2, figsize=(10,10)) #Creating subplots to display multiple images
i = 0
for index, row in random_df.iterrows(): #Iterating through the rows to show image and it species
print(i)
# Check if the required columns exist before accessing them
if 'X' in df.columns and 'Y' in df.columns and 'Width' in df.columns and 'Height' in df.columns:
x = row['X']
y = row['Y']
w = row['Width']
h = row['Height']
else:
print("Error: Missing bounding box columns ('X', 'Y', 'Width', 'Height') in the dataframe.")
return # Exit the function if columns are missing
img_path = row['Filepath']
print(img_path)
print(data_dir + data_dir_tmp + '/'+ img_path)
image = cv2.imread(data_dir + data_dir_tmp + '/'+ img_path)
ax[i,0].imshow(image)
ax[i,0].set_title(row['Label']+'Without bounding box') #Reading Label
#image = np.asarray(row['Image'])
#print(image)
#image = (image / 255 ).astype(np.float32)
#print(image)
#plt.imshow(image)
bounded_img = cv2.rectangle(image, (x,y), (w,h), (255,255,255), thickness=2)
ax[i,1].imshow(bounded_img) #Reading the image stored in array
ax[i,1].set_title(row['Label']+'With bounding box') #Reading Label
i=i+1
plt.show() #Showing the final subplot
display_bounded_images(mapped_train,2)
0
Error: Missing bounding box columns ('X', 'Y', 'Width', 'Height') in the dataframe.
display_bounded_images(mapped_test,10)
0
Error: Missing bounding box columns ('X', 'Y', 'Width', 'Height') in the dataframe.
# Merging the train and test datasets into one
new_df = [mapped_train,mapped_test]
merged_df = pd.concat(new_df)
#merged_df has train and test data combined
merged_df.shape
(16185, 25)
merged_df.head(10)
| Image Name | X | Y | Width_x | Height_x | Image Class | Car Class | Unnamed: 0 | Label | File | ... | xmax | ymax | Class | Height_y | Width_y | imageAsArray | carName | imageName | carModel | carModel_1 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 | Audi TTS Coupe 2012 | 1274 | Audi TTS Coupe 2012 | 00001.jpg | ... | 569.0 | 375.0 | 14.0 | 400 | 600 | [[[123 119 101]\n [120 116 98]\n [115 111 ... | NaN | NaN | NaN | NaN |
| 1 | 00017.jpg | 39 | 52 | 233 | 150 | 14 | Audi TTS Coupe 2012 | 1311 | Audi TTS Coupe 2012 | 00017.jpg | ... | 233.0 | 150.0 | 14.0 | 194 | 259 | [[[127 103 115]\n [104 80 92]\n [111 87 ... | NaN | NaN | NaN | NaN |
| 2 | 00411.jpg | 52 | 47 | 586 | 260 | 14 | Audi TTS Coupe 2012 | 1303 | Audi TTS Coupe 2012 | 00411.jpg | ... | 586.0 | 260.0 | 14.0 | 330 | 600 | [[[212 210 210]\n [201 199 199]\n [211 209 2... | NaN | NaN | NaN | NaN |
| 3 | 00467.jpg | 47 | 92 | 209 | 178 | 14 | Audi TTS Coupe 2012 | 1282 | Audi TTS Coupe 2012 | 00467.jpg | ... | 209.0 | 178.0 | 14.0 | 194 | 259 | [[[241 242 233]\n [246 247 238]\n [252 253 2... | NaN | NaN | NaN | NaN |
| 4 | 00888.jpg | 7 | 51 | 253 | 156 | 14 | Audi TTS Coupe 2012 | 1297 | Audi TTS Coupe 2012 | 00888.jpg | ... | 253.0 | 156.0 | 14.0 | 194 | 259 | [[[244 244 244]\n [244 244 244]\n [244 244 2... | NaN | NaN | NaN | NaN |
| 5 | 01085.jpg | 90 | 53 | 460 | 257 | 14 | Audi TTS Coupe 2012 | 1300 | Audi TTS Coupe 2012 | 01085.jpg | ... | 460.0 | 257.0 | 14.0 | 334 | 500 | [[[ 24 24 24]\n [ 14 14 14]\n [ 22 22 ... | NaN | NaN | NaN | NaN |
| 6 | 01210.jpg | 19 | 123 | 618 | 354 | 14 | Audi TTS Coupe 2012 | 1299 | Audi TTS Coupe 2012 | 01210.jpg | ... | 618.0 | 354.0 | 14.0 | 480 | 640 | [[[185 130 125]\n [185 130 125]\n [185 130 1... | NaN | NaN | NaN | NaN |
| 7 | 01232.jpg | 150 | 87 | 472 | 289 | 14 | Audi TTS Coupe 2012 | 1301 | Audi TTS Coupe 2012 | 01232.jpg | ... | 472.0 | 289.0 | 14.0 | 400 | 600 | [[[117 141 131]\n [112 136 126]\n [108 132 1... | NaN | NaN | NaN | NaN |
| 8 | 01403.jpg | 16 | 41 | 399 | 300 | 14 | Audi TTS Coupe 2012 | 1294 | Audi TTS Coupe 2012 | 01403.jpg | ... | 399.0 | 300.0 | 14.0 | 360 | 424 | [[[255 255 255]\n [255 255 255]\n [255 255 2... | NaN | NaN | NaN | NaN |
| 9 | 01880.jpg | 120 | 324 | 890 | 731 | 14 | Audi TTS Coupe 2012 | 1302 | Audi TTS Coupe 2012 | 01880.jpg | ... | 890.0 | 731.0 | 14.0 | 768 | 1024 | [[[186 188 182]\n [186 188 182]\n [185 187 1... | NaN | NaN | NaN | NaN |
10 rows × 25 columns
# Creating a function to split the car make, type and year from label and creating separate columns for them
# Creating a function to split the car make, type and year from label and creating separate columns for them
def split_label(row):
label = row['Label']
if isinstance(label, str): # Check if label is a string
labels = label.split()
car_make = labels[0]
make_year = labels[len(labels)-1]
car_type = labels[len(labels)-2]
string_to_remove = [car_make,make_year,car_type]
car_model = label
for string in string_to_remove:
car_model = car_model.replace(string, '')
return pd.Series(dict(car_make=car_make, make_year=make_year, car_type=car_type, car_model = car_model))
else:
# Handle cases where 'Label' is not a string (e.g., return empty values)
return pd.Series(dict(car_make=None, make_year=None, car_type=None, car_model=None))
#merged_df1 has expand label expanded into make, model etc.
merged_df1 = pd.concat([merged_df, merged_df.apply(split_label,axis=1)], axis=1)
#function to conver resolution strong into list
def convert_to_set(input_string):
values = input_string.strip('()').split(',')
#print(values)
result_list = list(map(int, values))
return result_list
#Example rune
print(convert_to_set('(300,300,5)'))
[300, 300, 5]
# Verify if 'FileShape' column exists
if 'FileShape' in merged_df1.columns:
merged_df1["FileShape"] = merged_df1["FileShape"].apply(convert_to_set)
else:
print("Column 'FileShape' not found in the DataFrame.")
# Investigate why the column is missing and potentially recreate it if necessary
Column 'FileShape' not found in the DataFrame.
merged_df1.head(10)
| Image Name | X | Y | Width_x | Height_x | Image Class | Car Class | Unnamed: 0 | Label | File | ... | Width_y | imageAsArray | carName | imageName | carModel | carModel_1 | car_make | make_year | car_type | car_model | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 00001.jpg | 39 | 116 | 569 | 375 | 14 | Audi TTS Coupe 2012 | 1274 | Audi TTS Coupe 2012 | 00001.jpg | ... | 600 | [[[123 119 101]\n [120 116 98]\n [115 111 ... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 1 | 00017.jpg | 39 | 52 | 233 | 150 | 14 | Audi TTS Coupe 2012 | 1311 | Audi TTS Coupe 2012 | 00017.jpg | ... | 259 | [[[127 103 115]\n [104 80 92]\n [111 87 ... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 2 | 00411.jpg | 52 | 47 | 586 | 260 | 14 | Audi TTS Coupe 2012 | 1303 | Audi TTS Coupe 2012 | 00411.jpg | ... | 600 | [[[212 210 210]\n [201 199 199]\n [211 209 2... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 3 | 00467.jpg | 47 | 92 | 209 | 178 | 14 | Audi TTS Coupe 2012 | 1282 | Audi TTS Coupe 2012 | 00467.jpg | ... | 259 | [[[241 242 233]\n [246 247 238]\n [252 253 2... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 4 | 00888.jpg | 7 | 51 | 253 | 156 | 14 | Audi TTS Coupe 2012 | 1297 | Audi TTS Coupe 2012 | 00888.jpg | ... | 259 | [[[244 244 244]\n [244 244 244]\n [244 244 2... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 5 | 01085.jpg | 90 | 53 | 460 | 257 | 14 | Audi TTS Coupe 2012 | 1300 | Audi TTS Coupe 2012 | 01085.jpg | ... | 500 | [[[ 24 24 24]\n [ 14 14 14]\n [ 22 22 ... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 6 | 01210.jpg | 19 | 123 | 618 | 354 | 14 | Audi TTS Coupe 2012 | 1299 | Audi TTS Coupe 2012 | 01210.jpg | ... | 640 | [[[185 130 125]\n [185 130 125]\n [185 130 1... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 7 | 01232.jpg | 150 | 87 | 472 | 289 | 14 | Audi TTS Coupe 2012 | 1301 | Audi TTS Coupe 2012 | 01232.jpg | ... | 600 | [[[117 141 131]\n [112 136 126]\n [108 132 1... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 8 | 01403.jpg | 16 | 41 | 399 | 300 | 14 | Audi TTS Coupe 2012 | 1294 | Audi TTS Coupe 2012 | 01403.jpg | ... | 424 | [[[255 255 255]\n [255 255 255]\n [255 255 2... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
| 9 | 01880.jpg | 120 | 324 | 890 | 731 | 14 | Audi TTS Coupe 2012 | 1302 | Audi TTS Coupe 2012 | 01880.jpg | ... | 1024 | [[[186 188 182]\n [186 188 182]\n [185 187 1... | NaN | NaN | NaN | NaN | Audi | 2012 | Coupe | TTS |
10 rows × 29 columns
merged_df1['car_make'].value_counts()
car_make Chevrolet 905 Dodge 630 Audi 589 BMW 531 Ford 521 Hyundai 438 Mercedes-Benz 261 Chrysler 260 Acura 242 GMC 238 Bentley 238 Jeep 220 Nissan 171 Toyota 168 Suzuki 167 Ferrari 164 Honda 161 Lamborghini 161 Buick 158 Aston 157 Volkswagen 132 Volvo 131 Cadillac 129 Rolls-Royce 114 Spyker 88 Land 86 HUMMER 83 Bugatti 77 Infiniti 67 FIAT 62 Mitsubishi 48 Jaguar 47 Eagle 46 Daewoo 45 Geo 45 AM 45 McLaren 44 Porsche 44 Fisker 44 Plymouth 44 Scion 42 Ram 41 smart 40 Isuzu 40 Tesla 39 Lincoln 39 MINI 37 Mazda 36 Maybach 29 Name: count, dtype: int64
ax = merged_df1.car_make.value_counts().sort_values().plot(kind='barh', figsize=(15, 25),
title='Visualization by Car Make', legend=True)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()
Observations:
Chevrolet, Audi, BMW, Dodge and Ford are the top 5 car makers as per the above plot whereas Maybach and Mazda are the least
ax = merged_df1.make_year.value_counts().sort_values().plot(kind='barh', figsize=(15, 25),
title='Visualization by Make Year', legend=True)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()
Observations:
Majority of the car models are from year 2012, 2007 and 2009
ax = merged_df1.car_type.value_counts().sort_values().plot(kind='barh', figsize=(15, 25),
title='Visualization by Car Type', legend=True)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()
Observations:
Majority of the cars are Sedan, SUV, Coupe or Convertible
# Distribution of values as per class
merged_df1['Car Class'].value_counts().sort_values().plot(kind='kde')
<Axes: ylabel='Density'>
ax = merged_df1['Car Class'].value_counts().sort_values().plot(kind='barh', figsize=(15, 25),
title='Visualization by Class', legend=True)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()
Observations:
Class 119 has maximum images (136) whereas Class 136 has the least (48)
ax = merged_df1['car_model'].value_counts().sort_values().plot(kind='barh', figsize=(15, 25),
title='Visualization by Class', legend=True)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()
from functools import reduce
def unique(list1): # Defining a function to get unqiue values from the list
ans = reduce(lambda re, x: re+[x] if x not in re else re, list1, [])
print(ans)
from functools import reduce
def unique(list1): # Defining a function to get unqiue values from the list
ans = reduce(lambda re, x: re+[x] if x not in re else re, list1, [])
print(ans)
print("The unique values from Test list is:")
# Check for typos and verify the correct column name
print(merged_df1.columns) # Print all column names to verify
# Replace "CorrectColumnName" with the actual column name from the output above
unique(merged_df1["Car Class"]) # Example: Assuming "Car Class" is the correct column name
The unique values from Test list is:
Index(['Image Name', 'X', 'Y', 'Width_x', 'Height_x', 'Image Class',
'Car Class', 'Unnamed: 0', 'Label', 'File', 'ModelYear', 'car_Model',
'Image_Name', 'xmin', 'ymin', 'xmax', 'ymax', 'Class', 'Height_y',
'Width_y', 'imageAsArray', 'carName', 'imageName', 'carModel',
'carModel_1', 'car_make', 'make_year', 'car_type', 'car_model'],
dtype='object')
['Audi TTS Coupe 2012', 'Acura TL Sedan 2012', 'Dodge Dakota Club Cab 2007', 'Hyundai Sonata Hybrid Sedan 2012', 'Ford F-450 Super Duty Crew Cab 2012', 'Geo Metro Convertible 1993', 'Dodge Journey SUV 2012', 'Dodge Charger Sedan 2012', 'Mitsubishi Lancer Sedan 2012', 'Chevrolet Traverse SUV 2012', 'Buick Verano Sedan 2012', 'Toyota Sequoia SUV 2012', 'Hyundai Elantra Sedan 2007', 'Dodge Caravan Minivan 1997', 'Volvo C30 Hatchback 2012', 'Plymouth Neon Coupe 1999', 'Chevrolet Malibu Sedan 2007', 'Volkswagen Beetle Hatchback 2012', 'Chevrolet Corvette Ron Fellows Edition Z06 2007', 'Chrysler 300 SRT-8 2010', 'BMW M6 Convertible 2010', 'GMC Yukon Hybrid SUV 2012', 'Nissan Juke Hatchback 2012', 'Volvo 240 Sedan 1993', 'Suzuki SX4 Sedan 2012', 'Dodge Ram Pickup 3500 Crew Cab 2010', 'Spyker C8 Coupe 2009', 'Land Rover Range Rover SUV 2012', 'Hyundai Elantra Touring Hatchback 2012', 'Chevrolet Cobalt SS 2010', 'Hyundai Veracruz SUV 2012', 'Ferrari 458 Italia Coupe 2012', 'BMW Z4 Convertible 2012', 'Dodge Charger SRT-8 2009', 'Fisker Karma Sedan 2012', 'Infiniti QX56 SUV 2011', 'Audi A5 Coupe 2012', 'Volkswagen Golf Hatchback 1991', 'GMC Savana Van 2012', 'Audi TT RS Coupe 2012', 'Rolls-Royce Phantom Sedan 2012', 'Porsche Panamera Sedan 2012', 'Bentley Continental GT Coupe 2012', 'Jeep Grand Cherokee SUV 2012', 'Audi R8 Coupe 2012', 'Cadillac Escalade EXT Crew Cab 2007', 'Bentley Continental Flying Spur Sedan 2007', 'Chevrolet Avalanche Crew Cab 2012', 'Dodge Dakota Crew Cab 2010', 'HUMMER H3T Crew Cab 2010', 'Ford F-150 Regular Cab 2007', 'Volkswagen Golf Hatchback 2012', 'Ferrari FF Coupe 2012', 'Toyota Camry Sedan 2012', 'Aston Martin V8 Vantage Convertible 2012', 'Audi 100 Sedan 1994', 'Ford Ranger SuperCab 2011', 'GMC Canyon Extended Cab 2012', 'Acura TSX Sedan 2012', 'BMW 3 Series Sedan 2012', 'Honda Odyssey Minivan 2012', 'Dodge Durango SUV 2012', 'Toyota Corolla Sedan 2012', 'Chevrolet Camaro Convertible 2012', 'Ford Edge SUV 2012', 'Bentley Continental GT Coupe 2007', 'Audi 100 Wagon 1994', 'Ford E-Series Wagon Van 2012', 'Jeep Patriot SUV 2012', 'Audi S6 Sedan 2011', 'Mercedes-Benz S-Class Sedan 2012', 'Hyundai Sonata Sedan 2012', 'Rolls-Royce Phantom Drophead Coupe Convertible 2012', 'Ford GT Coupe 2006', 'Cadillac CTS-V Sedan 2012', 'BMW X3 SUV 2012', 'Chevrolet Express Van 2007', 'Chevrolet Impala Sedan 2007', 'Chevrolet Silverado 1500 Extended Cab 2012', 'Mercedes-Benz C-Class Sedan 2012', 'Hyundai Santa Fe SUV 2012', 'Dodge Sprinter Cargo Van 2009', 'GMC Acadia SUV 2012', 'Hyundai Genesis Sedan 2012', 'Dodge Caliber Wagon 2012', 'Jeep Liberty SUV 2012', 'Mercedes-Benz 300-Class Convertible 1993', 'Ford Expedition EL SUV 2009', 'BMW 1 Series Coupe 2012', 'Jaguar XK XKR 2012', 'Hyundai Accent Sedan 2012', 'Isuzu Ascender SUV 2008', 'Nissan 240SX Coupe 1998', 'Scion xD Hatchback 2012', 'Chevrolet Corvette ZR1 2012', 'Bentley Arnage Sedan 2009', 'Chevrolet HHR SS 2010', 'Land Rover LR2 SUV 2012', 'Hyundai Azera Sedan 2012', 'Chrysler Aspen SUV 2009', 'Buick Regal GS 2012', 'BMW 3 Series Wagon 2012', 'Jeep Compass SUV 2012', 'Ram C/V Cargo Van Minivan 2012', 'Spyker C8 Convertible 2009', 'Audi S4 Sedan 2007', 'Rolls-Royce Ghost Sedan 2012', 'AM General Hummer SUV 2000', 'Ford Freestar Minivan 2007', 'Bentley Mulsanne Sedan 2011', 'Audi TT Hatchback 2011', 'Mercedes-Benz SL-Class Coupe 2009', 'Chevrolet Silverado 1500 Hybrid Crew Cab 2012', 'Buick Enclave SUV 2012', 'Chevrolet TrailBlazer SS 2009', 'HUMMER H2 SUT Crew Cab 2009', 'McLaren MP4-12C Coupe 2012', 'Dodge Challenger SRT8 2011', 'Suzuki SX4 Hatchback 2012', 'Bugatti Veyron 16.4 Convertible 2009', 'Toyota 4Runner SUV 2012', 'Buick Rainier SUV 2007', 'Chrysler Sebring Convertible 2010', 'Acura Integra Type R 2001', 'Audi V8 Sedan 1994', 'Audi RS 4 Convertible 2008', 'Honda Accord Coupe 2012', 'Audi S4 Sedan 2012', 'Aston Martin Virage Coupe 2012', 'Chevrolet Sonic Sedan 2012', 'Chevrolet Monte Carlo Coupe 2007', 'Volvo XC90 SUV 2007', 'Ford Mustang Convertible 2007', 'Aston Martin Virage Convertible 2012', 'smart fortwo Convertible 2012', 'FIAT 500 Abarth 2012', 'Infiniti G Coupe IPL 2012', 'Dodge Caliber Wagon 2007', 'Hyundai Tucson SUV 2012', 'Acura ZDX Hatchback 2012', 'BMW ActiveHybrid 5 Sedan 2012', 'Ferrari California Convertible 2012', 'Nissan Leaf Hatchback 2012', 'Lamborghini Diablo Coupe 2001', 'Audi S5 Convertible 2012', 'BMW 6 Series Convertible 2007', 'Ferrari 458 Italia Convertible 2012', 'Chevrolet Silverado 2500HD Regular Cab 2012', 'Chevrolet Corvette Convertible 2012', 'Bugatti Veyron 16.4 Coupe 2009', 'Tesla Model S Sedan 2012', 'FIAT 500 Convertible 2012', 'Hyundai Veloster Hatchback 2012', 'Lincoln Town Car Sedan 2011', 'Lamborghini Aventador Coupe 2012', 'Dodge Ram Pickup 3500 Quad Cab 2009', 'Nissan NV Passenger Van 2012', 'Honda Odyssey Minivan 2007', 'Maybach Landaulet Convertible 2012', 'Chevrolet Silverado 1500 Regular Cab 2012', 'Suzuki Kizashi Sedan 2012', 'Chevrolet Tahoe Hybrid SUV 2012', 'Mercedes-Benz Sprinter Van 2012', 'Suzuki Aerio Sedan 2007', 'Audi S5 Coupe 2012', 'Aston Martin V8 Vantage Coupe 2012', 'Chevrolet Malibu Hybrid Sedan 2010', 'Ford F-150 Regular Cab 2012', 'Ford Fiesta Sedan 2012', 'Ford Focus Sedan 2007', 'Bentley Continental Supersports Conv. Convertible 2012', 'Chevrolet Silverado 1500 Classic Extended Cab 2007', 'BMW X5 SUV 2007', 'Jeep Wrangler SUV 2012', 'Acura TL Type-S 2008', 'Chrysler Crossfire Convertible 2008', 'Lamborghini Gallardo LP 570-4 Superleggera 2012', 'Mercedes-Benz E-Class Sedan 2012', 'Chevrolet Express Cargo Van 2007', 'GMC Terrain SUV 2012', 'Dodge Magnum Wagon 2008', 'Honda Accord Sedan 2012', 'Chrysler PT Cruiser Convertible 2008', 'Mazda Tribute SUV 2011', 'BMW M3 Coupe 2012', 'Eagle Talon Hatchback 1998', 'Daewoo Nubira Wagon 2002', 'BMW X6 SUV 2012', 'Lamborghini Reventon Coupe 2008', 'Cadillac SRX SUV 2012', 'MINI Cooper Roadster Convertible 2012', 'Acura RL Sedan 2012', 'BMW 1 Series Convertible 2012', 'Dodge Durango SUV 2007', 'BMW M5 Sedan 2010', 'Chrysler Town and Country Minivan 2012']
print("The unique values from Train list is:")
# Example list, replace with your actual data
train_image_shapes = [(100, 100), (200, 200), (100, 100)]
unique(train_image_shapes)
The unique values from Train list is: [(100, 100), (200, 200)]
# Define histogram bins based on width
# Check for typos and verify the correct column name
print(merged_df1.columns) # Print all column names to verify
# Replace "CorrectColumnName" with the actual column name from the output above
# For example, if the correct column name is 'image_resolution'
# Check if 'image_resolution' is in the column list, if not, replace with the correct name
if 'image_resolution' in merged_df1.columns:
bin_width = [resolution[0] for resolution in merged_df1["image_resolution"]]
else:
print("Column 'image_resolution' not found. Please check the column names.")
# Replace 'CorrectColumnName' with the actual column name from the printed list
correct_column_name = 'Car Class'
bin_width = [resolution[0] for resolution in merged_df1[correct_column_name]]
# Changed column name to 'image_resolution'
print(bin_width)
# Create histogram data
# If bin_width is a Series (from value_counts), adjust plotting
if isinstance(bin_width, pd.Series):
bin_width.plot(kind='bar')
plt.xlabel(correct_column_name)
plt.ylabel('Count')
plt.title('Distribution of Car Classes')
else:
histogram, bin_edges, _ = plt.hist(bin_width) # Unpack into three variables to handle potential patches return
plt.xlabel('Image Width')
plt.ylabel('Frequency')
plt.title('Histogram of Image Widths')
plt.show()
Index(['Image Name', 'X', 'Y', 'Width_x', 'Height_x', 'Image Class',
'Car Class', 'Unnamed: 0', 'Label', 'File', 'ModelYear', 'car_Model',
'Image_Name', 'xmin', 'ymin', 'xmax', 'ymax', 'Class', 'Height_y',
'Width_y', 'imageAsArray', 'carName', 'imageName', 'carModel',
'carModel_1', 'car_make', 'make_year', 'car_type', 'car_model'],
dtype='object')
Column 'image_resolution' not found. Please check the column names.
['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'S', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'I', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'V', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'L', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'J', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'M', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C']
Observation:
From the above we can conclude that there are images are color with 3 channels and greyscale images with 2 channels, we also see that majority are low resolution images
# Displaying the test bar plot for images
# This is a list of unique values appearing in the input list
#lii_unique = list(set(test_image_shapes))
# This is the corresponding count for each value
#counts = [test_image_shapes.count(value) for value in lii_unique]
#barcontainer = plt.bar(lii_unique,counts)
# Some labels and formatting to look more like the example
#plt.bar_label(barcontainer,counts, label_type='edge')
#plt.axis('on')
#plt.show()
# Displaying the test bar plot for images
# Define test_image_shapes here with your actual data
test_image_shapes = [(100, 100), (200, 200), (100, 100), (300, 300)]
# This is a list of unique values appearing in the input list
lii_unique = list(set(test_image_shapes))
# Convert tuples to strings for plotting
lii_unique_str = [str(x) for x in lii_unique] # Convert tuples to strings
# This is the corresponding count for each value
counts = [test_image_shapes.count(value) for value in lii_unique]
# plot data
fig, ax = plt.subplots(figsize=(12, 8))
sns.barplot(x=lii_unique_str, y=counts, ax=ax, color='steelblue').set(title='Test Bar Plot For Shapes Of Images') # Use string representation
# annotate
ax.bar_label(ax.containers[0], label_type='edge')
# pad the spacing between the number and the edge of the figure
ax.margins(y=0.1)
# Displaying the train bar plot for images
# This is a list of unique values appearing in the input list
lii_unique1 = list(set(train_image_shapes))
# Convert tuples to strings for plotting
lii_unique1_str = [str(x) for x in lii_unique1] # Convert tuples to strings
# This is the corresponding count for each value
counts1 = [train_image_shapes.count(value) for value in lii_unique1]
# plot data
fig, ax = plt.subplots(figsize=(12, 8))
# Use string representation for x-axis
sns.barplot(x=lii_unique1_str, y=counts1, ax=ax, color='green').set(title='Train Bar Plot For Shapes Of Images')
# annotate
ax.bar_label(ax.containers[0], label_type='edge')
# pad the spacing between the number and the edge of the figure
ax.margins(y=0.1)
Observation:
From the above we can conclude that there are 16 greyscale images under the testing set and 18 greyscale images in the training set
#Design, train and test RCNN & its hybrids based object detection models to impose the bounding box or mask over the area of interest
# Calling this C Series of models
# First Lets start with a simple "out of the box" prediction based on RCNN ResNet-50 (Labeled C1)
#Get first batch of images
imgs, labels = next(train_images)
#select a random image for prediction
plt.imshow(imgs[1])
<matplotlib.image.AxesImage at 0x7e7e8742a560>
#reference: https://learnopencv.com/faster-r-cnn-object-detection-with-pytorch/
import torchvision
import torchvision.transforms as T
model_c1 = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True)
model_c1.eval()
Downloading: "https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth" to /root/.cache/torch/hub/checkpoints/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth 100%|██████████| 160M/160M [00:01<00:00, 111MB/s]
FasterRCNN(
(transform): GeneralizedRCNNTransform(
Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
Resize(min_size=(800,), max_size=1333, mode='bilinear')
)
(backbone): BackboneWithFPN(
(body): IntermediateLayerGetter(
(conv1): Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)
(bn1): FrozenBatchNorm2d(64, eps=0.0)
(relu): ReLU(inplace=True)
(maxpool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
(layer1): Sequential(
(0): Bottleneck(
(conv1): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(64, eps=0.0)
(conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(64, eps=0.0)
(conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(256, eps=0.0)
(relu): ReLU(inplace=True)
(downsample): Sequential(
(0): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(1): FrozenBatchNorm2d(256, eps=0.0)
)
)
(1): Bottleneck(
(conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(64, eps=0.0)
(conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(64, eps=0.0)
(conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(256, eps=0.0)
(relu): ReLU(inplace=True)
)
(2): Bottleneck(
(conv1): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(64, eps=0.0)
(conv2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(64, eps=0.0)
(conv3): Conv2d(64, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(256, eps=0.0)
(relu): ReLU(inplace=True)
)
)
(layer2): Sequential(
(0): Bottleneck(
(conv1): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(128, eps=0.0)
(conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(128, eps=0.0)
(conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(512, eps=0.0)
(relu): ReLU(inplace=True)
(downsample): Sequential(
(0): Conv2d(256, 512, kernel_size=(1, 1), stride=(2, 2), bias=False)
(1): FrozenBatchNorm2d(512, eps=0.0)
)
)
(1): Bottleneck(
(conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(128, eps=0.0)
(conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(128, eps=0.0)
(conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(512, eps=0.0)
(relu): ReLU(inplace=True)
)
(2): Bottleneck(
(conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(128, eps=0.0)
(conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(128, eps=0.0)
(conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(512, eps=0.0)
(relu): ReLU(inplace=True)
)
(3): Bottleneck(
(conv1): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(128, eps=0.0)
(conv2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(128, eps=0.0)
(conv3): Conv2d(128, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(512, eps=0.0)
(relu): ReLU(inplace=True)
)
)
(layer3): Sequential(
(0): Bottleneck(
(conv1): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
(downsample): Sequential(
(0): Conv2d(512, 1024, kernel_size=(1, 1), stride=(2, 2), bias=False)
(1): FrozenBatchNorm2d(1024, eps=0.0)
)
)
(1): Bottleneck(
(conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
)
(2): Bottleneck(
(conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
)
(3): Bottleneck(
(conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
)
(4): Bottleneck(
(conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
)
(5): Bottleneck(
(conv1): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(256, eps=0.0)
(conv2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(256, eps=0.0)
(conv3): Conv2d(256, 1024, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(1024, eps=0.0)
(relu): ReLU(inplace=True)
)
)
(layer4): Sequential(
(0): Bottleneck(
(conv1): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(512, eps=0.0)
(conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(512, eps=0.0)
(conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(2048, eps=0.0)
(relu): ReLU(inplace=True)
(downsample): Sequential(
(0): Conv2d(1024, 2048, kernel_size=(1, 1), stride=(2, 2), bias=False)
(1): FrozenBatchNorm2d(2048, eps=0.0)
)
)
(1): Bottleneck(
(conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(512, eps=0.0)
(conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(512, eps=0.0)
(conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(2048, eps=0.0)
(relu): ReLU(inplace=True)
)
(2): Bottleneck(
(conv1): Conv2d(2048, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn1): FrozenBatchNorm2d(512, eps=0.0)
(conv2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
(bn2): FrozenBatchNorm2d(512, eps=0.0)
(conv3): Conv2d(512, 2048, kernel_size=(1, 1), stride=(1, 1), bias=False)
(bn3): FrozenBatchNorm2d(2048, eps=0.0)
(relu): ReLU(inplace=True)
)
)
)
(fpn): FeaturePyramidNetwork(
(inner_blocks): ModuleList(
(0): Conv2dNormActivation(
(0): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))
)
(1): Conv2dNormActivation(
(0): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1))
)
(2): Conv2dNormActivation(
(0): Conv2d(1024, 256, kernel_size=(1, 1), stride=(1, 1))
)
(3): Conv2dNormActivation(
(0): Conv2d(2048, 256, kernel_size=(1, 1), stride=(1, 1))
)
)
(layer_blocks): ModuleList(
(0-3): 4 x Conv2dNormActivation(
(0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
)
)
(extra_blocks): LastLevelMaxPool()
)
)
(rpn): RegionProposalNetwork(
(anchor_generator): AnchorGenerator()
(head): RPNHead(
(conv): Sequential(
(0): Conv2dNormActivation(
(0): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))
(1): ReLU(inplace=True)
)
)
(cls_logits): Conv2d(256, 3, kernel_size=(1, 1), stride=(1, 1))
(bbox_pred): Conv2d(256, 12, kernel_size=(1, 1), stride=(1, 1))
)
)
(roi_heads): RoIHeads(
(box_roi_pool): MultiScaleRoIAlign(featmap_names=['0', '1', '2', '3'], output_size=(7, 7), sampling_ratio=2)
(box_head): TwoMLPHead(
(fc6): Linear(in_features=12544, out_features=1024, bias=True)
(fc7): Linear(in_features=1024, out_features=1024, bias=True)
)
(box_predictor): FastRCNNPredictor(
(cls_score): Linear(in_features=1024, out_features=91, bias=True)
(bbox_pred): Linear(in_features=1024, out_features=364, bias=True)
)
)
)
COCO_INSTANCE_CATEGORY_NAMES = ['__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'N/A', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'N/A', 'backpack', 'umbrella', 'N/A', 'N/A', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'N/A', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'N/A', 'dining table', 'N/A', 'N/A', 'toilet', 'N/A', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'N/A', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush']
def get_prediction(img_path, threshold):
"""
get_prediction
parameters:
- img_path - input image
- threshold - threshold value for prediction score
method:
- the image is converted to image tensor using PyTorch's Transforms
- image is passed through the model to get the predictions
- class, box coordinates are obtained, but only prediction score > threshold
are chosen.
"""
img = img_path
transform = T.Compose([T.ToTensor()])
img = transform(img)
# passing to the model for prediction
pred = model_c1([img])
pred_class = [COCO_INSTANCE_CATEGORY_NAMES[i] for i in list(pred[0]['labels'].numpy())]
pred_boxes = [[(i[0], i[1]), (i[2], i[3])] for i in list(pred[0]['boxes'].detach().numpy())]
pred_score = list(pred[0]['scores'].detach().numpy())
pred_t = [pred_score.index(x) for x in pred_score if x>threshold][-1]
pred_boxes = pred_boxes[:pred_t+1]
pred_class = pred_class[:pred_t+1]
return pred_boxes, pred_class
def object_detection_api(img_path, threshold=0.5, rect_th=3, text_size=1, text_th=3):
boxes, pred_cls = get_prediction(img_path, threshold)
print(boxes)
print(len(boxes))
print(pred_cls)
# Get predictions
img = img_path
# Read image with cv2
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# Convert to RGB
for i in range(len(boxes)):
#Converting floating point predictions to int to help in plotting the same
int_tuple_c1 = tuple(int(x) for x in boxes[i][0])
int_tuple_c2 = tuple(int(x) for x in boxes[i][1])
cv2.rectangle(img, int_tuple_c1, int_tuple_c2,color=(0, 255, 0), thickness=rect_th)
# Draw Rectangle with the coordinates
cv2.putText(img,pred_cls[i], int_tuple_c1, cv2.FONT_HERSHEY_SIMPLEX, text_size, (0,255,0),thickness=text_th)
# Write the prediction class
plt.figure(figsize=(5,5))
# display the output image
plt.imshow(img)
#Testing RCNN Restnet model
object_detection_api(imgs[1], threshold=0.8)
WARNING:matplotlib.image:Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).
[[(1.9704676, 35.024338), (214.2718, 198.96754)]] 1 ['car']
# Model has successfully detected the car as truck
import torchvision
from torchvision.models.detection import fasterrcnn_resnet50_fpn
# Choose a pre-trained Faster R-CNN model
model = fasterrcnn_resnet50_fpn(pretrained=True)
import torch.nn as nn
# Define custom loss functions for bounding box regression and classification
box_loss = nn.MSELoss()
cls_loss = nn.CrossEntropyLoss()
import torch
import torchvision
from torchvision.models.detection import FasterRCNN
from torchvision.models.detection.rpn import AnchorGenerator
from torchvision.models.detection import fasterrcnn_resnet50_fpn
from torchvision.transforms import functional as F
from torch.utils.data import DataLoader
import torchvision.transforms as T
from torchvision.datasets import ImageFolder
import torch.optim as optim
from torch.optim import lr_scheduler
# Define a custom dataset class, DataLoader, and transformations
# Define a custom dataset class, DataLoader, and transformations
class CustomCarDataset(ImageFolder):
def __init__(self, root, transform=None, target_transform=None):
super().__init__(root, transform=transform, target_transform=target_transform)
def __getitem__(self, index):
# Load image and target as usual
img, target = super().__getitem__(index)
# Ensure target is a dictionary with 'boxes' key
if not isinstance(target, dict):
target = {'boxes': torch.tensor([]), 'labels': torch.tensor([])} # Or handle the case as needed
# Check if 'boxes' is empty and handle it (e.g., skip the image)
if target['boxes'].shape[0] == 0:
# Handle empty boxes, e.g., print a warning or skip the image
print(f"Warning: Image at index {index} has no bounding boxes. Skipping...")
return None # Return None to signal that this item should be skipped
return img, target
# Define data transformations for training and testing
train_transform = T.Compose([
T.Resize((256, 256)),
T.RandomHorizontalFlip(0.5),
T.ToTensor(),
])
test_transform = T.Compose([
T.Resize((256, 256)),
T.ToTensor(),
])
# Create custom datasets and data loaders
train_dataset = CustomCarDataset(root=data_dir + '/Car Images/Train Images', transform=train_transform)
test_dataset = CustomCarDataset(root=data_dir + '/Car Images/Test Images', transform=test_transform)
# Use a custom collate function for the test_dataloader
def collate_fn(batch):
# Filter out None values from the batch
batch = [item for item in batch if item is not None]
if not batch: # Handle the case where the batch is empty after filtering
return [], [] # Return empty lists for images and targets
return torch.utils.data.dataloader.default_collate(batch)
train_dataloader = DataLoader(train_dataset, batch_size=4, shuffle=True, num_workers=4, collate_fn=collate_fn)
# ... (rest of the code remains unchanged)
test_dataloader = DataLoader(test_dataset, batch_size=1, shuffle=False, num_workers=4, collate_fn=collate_fn)
# Create a Faster R-CNN model with a ResNet-50 backbone
def create_model(num_classes):
# Load a pre-trained ResNet-50 model
backbone = torchvision.models.resnet50(pretrained=True)
# Modify the final classification layer for the number of classes in your dataset
in_features = backbone.fc.in_features
backbone.fc = torch.nn.Linear(in_features, num_classes)
out_channels = backbone.fc.in_features
# Add the out_channels attribute to the backbone
backbone.out_channels = out_channels
# Set the out_channels attribute for FasterRCNN
# Create an anchor generator
rpn_anchor_generator = AnchorGenerator(
sizes=((32, 64, 128, 256),),
aspect_ratios=((0.5, 1.0, 2.0),)
)
# Initialize the Faster R-CNN model with the backbone, anchor generator and num_classes
model = FasterRCNN(backbone, num_classes=num_classes, rpn_anchor_generator=rpn_anchor_generator) # Pass num_classes to FasterRCNN
return model
# Create the model
car_detection_model = create_model(196)
# Define optimizer and learning rate scheduler
import torch.optim as optim
from torch.optim import lr_scheduler
optimizer = optim.SGD(car_detection_model.parameters(), lr=0.001, momentum=0.9)
# Use a specific learning rate scheduler class, e.g., StepLR
scheduler = lr_scheduler.StepLR(optimizer, step_size=7, gamma=0.1) # Adjust step_size and gamma as needed
# Training loop
num_epochs = 10
for epoch in range(num_epochs):
car_detection_model.train()
for images, targets in train_dataloader:
# Check if the batch is None and skip it
if images is None or targets is None:
continue
# Filter out None values from the batch
valid_indices = [i for i, (img, tgt) in enumerate(zip(images, targets)) if img is not None and tgt is not None]
if not valid_indices: # Skip the batch if all items are None
continue
images = [images[i] for i in valid_indices]
targets = [targets[i] for i in valid_indices]
optimizer.zero_grad()
images = list(img for img in images)
# Convert target tensors to lists of dictionaries if necessary
if isinstance(targets, torch.Tensor):
targets = [{'boxes': targets[i]} for i in range(targets.shape[0])] # Assuming targets is a tensor of bounding boxes
loss_dict = car_detection_model(images, targets)
# Use car_detection_model instead of model
# Compute the total loss for backpropagation
total_loss = sum(loss for loss in loss_dict.values())
# Backpropagation and optimization
total_loss.backward()
optimizer.step()
# Learning rate scheduler step
scheduler.step()
# Save the trained model
torch.save(car_detection_model.state_dict(), 'car_detection_model.pth')
Downloading: "https://download.pytorch.org/models/resnet50-0676ba61.pth" to /root/.cache/torch/hub/checkpoints/resnet50-0676ba61.pth 100%|██████████| 97.8M/97.8M [00:00<00:00, 122MB/s]
Streaming output truncated to the last 5000 lines.
Warning: Image at index 5956 has no bounding boxes. Skipping...Warning: Image at index 1161 has no bounding boxes. Skipping...Warning: Image at index 4023 has no bounding boxes. Skipping...
Warning: Image at index 4038 has no bounding boxes. Skipping...
Warning: Image at index 2220 has no bounding boxes. Skipping...
Warning: Image at index 7963 has no bounding boxes. Skipping...Warning: Image at index 1330 has no bounding boxes. Skipping...
Warning: Image at index 1283 has no bounding boxes. Skipping...
Warning: Image at index 566 has no bounding boxes. Skipping...Warning: Image at index 7853 has no bounding boxes. Skipping...
Warning: Image at index 6181 has no bounding boxes. Skipping...Warning: Image at index 6619 has no bounding boxes. Skipping...
Warning: Image at index 5008 has no bounding boxes. Skipping...Warning: Image at index 3231 has no bounding boxes. Skipping...Warning: Image at index 7071 has no bounding boxes. Skipping...
Warning: Image at index 506 has no bounding boxes. Skipping...Warning: Image at index 1572 has no bounding boxes. Skipping...Warning: Image at index 2660 has no bounding boxes. Skipping...
Warning: Image at index 6794 has no bounding boxes. Skipping...
Warning: Image at index 1659 has no bounding boxes. Skipping...
Warning: Image at index 4090 has no bounding boxes. Skipping...Warning: Image at index 8266 has no bounding boxes. Skipping...
Warning: Image at index 8105 has no bounding boxes. Skipping...
Warning: Image at index 6674 has no bounding boxes. Skipping...
Warning: Image at index 2131 has no bounding boxes. Skipping...Warning: Image at index 7206 has no bounding boxes. Skipping...Warning: Image at index 4021 has no bounding boxes. Skipping...
Warning: Image at index 6123 has no bounding boxes. Skipping...
Warning: Image at index 1508 has no bounding boxes. Skipping...
Warning: Image at index 3555 has no bounding boxes. Skipping...Warning: Image at index 2968 has no bounding boxes. Skipping...
Warning: Image at index 3178 has no bounding boxes. Skipping...
Warning: Image at index 4963 has no bounding boxes. Skipping...Warning: Image at index 7675 has no bounding boxes. Skipping...Warning: Image at index 4738 has no bounding boxes. Skipping...
Warning: Image at index 3499 has no bounding boxes. Skipping...
Warning: Image at index 4039 has no bounding boxes. Skipping...
Warning: Image at index 3511 has no bounding boxes. Skipping...
Warning: Image at index 7519 has no bounding boxes. Skipping...Warning: Image at index 1765 has no bounding boxes. Skipping...
Warning: Image at index 2245 has no bounding boxes. Skipping...Warning: Image at index 6274 has no bounding boxes. Skipping...
Warning: Image at index 6132 has no bounding boxes. Skipping...Warning: Image at index 5593 has no bounding boxes. Skipping...Warning: Image at index 4125 has no bounding boxes. Skipping...
Warning: Image at index 5696 has no bounding boxes. Skipping...
Warning: Image at index 1260 has no bounding boxes. Skipping...Warning: Image at index 5942 has no bounding boxes. Skipping...Warning: Image at index 6836 has no bounding boxes. Skipping...
Warning: Image at index 4458 has no bounding boxes. Skipping...Warning: Image at index 2078 has no bounding boxes. Skipping...
Warning: Image at index 5278 has no bounding boxes. Skipping...
Warning: Image at index 2634 has no bounding boxes. Skipping...
Warning: Image at index 4321 has no bounding boxes. Skipping...Warning: Image at index 4331 has no bounding boxes. Skipping...
Warning: Image at index 4940 has no bounding boxes. Skipping...
Warning: Image at index 6111 has no bounding boxes. Skipping...Warning: Image at index 3183 has no bounding boxes. Skipping...
Warning: Image at index 3360 has no bounding boxes. Skipping...
Warning: Image at index 7832 has no bounding boxes. Skipping...
Warning: Image at index 1878 has no bounding boxes. Skipping...Warning: Image at index 1926 has no bounding boxes. Skipping...
Warning: Image at index 6433 has no bounding boxes. Skipping...
Warning: Image at index 2275 has no bounding boxes. Skipping...
Warning: Image at index 1088 has no bounding boxes. Skipping...
Warning: Image at index 4976 has no bounding boxes. Skipping...
Warning: Image at index 3296 has no bounding boxes. Skipping...Warning: Image at index 8048 has no bounding boxes. Skipping...
Warning: Image at index 8143 has no bounding boxes. Skipping...Warning: Image at index 7866 has no bounding boxes. Skipping...Warning: Image at index 4749 has no bounding boxes. Skipping...
Warning: Image at index 596 has no bounding boxes. Skipping...
Warning: Image at index 215 has no bounding boxes. Skipping...Warning: Image at index 7625 has no bounding boxes. Skipping...
Warning: Image at index 8201 has no bounding boxes. Skipping...
Warning: Image at index 6426 has no bounding boxes. Skipping...
Warning: Image at index 5765 has no bounding boxes. Skipping...
Warning: Image at index 2178 has no bounding boxes. Skipping...
Warning: Image at index 771 has no bounding boxes. Skipping...Warning: Image at index 7063 has no bounding boxes. Skipping...
Warning: Image at index 3854 has no bounding boxes. Skipping...
Warning: Image at index 5348 has no bounding boxes. Skipping...Warning: Image at index 6937 has no bounding boxes. Skipping...
Warning: Image at index 6374 has no bounding boxes. Skipping...Warning: Image at index 4949 has no bounding boxes. Skipping...
Warning: Image at index 49 has no bounding boxes. Skipping...
Warning: Image at index 3050 has no bounding boxes. Skipping...
Warning: Image at index 3853 has no bounding boxes. Skipping...
Warning: Image at index 305 has no bounding boxes. Skipping...
Warning: Image at index 5744 has no bounding boxes. Skipping...
Warning: Image at index 5280 has no bounding boxes. Skipping...
Warning: Image at index 740 has no bounding boxes. Skipping...
Warning: Image at index 6524 has no bounding boxes. Skipping...
Warning: Image at index 5803 has no bounding boxes. Skipping...
Warning: Image at index 4178 has no bounding boxes. Skipping...
Warning: Image at index 7745 has no bounding boxes. Skipping...Warning: Image at index 919 has no bounding boxes. Skipping...
Warning: Image at index 1588 has no bounding boxes. Skipping...
Warning: Image at index 1523 has no bounding boxes. Skipping...Warning: Image at index 7158 has no bounding boxes. Skipping...
Warning: Image at index 5739 has no bounding boxes. Skipping...
Warning: Image at index 3103 has no bounding boxes. Skipping...
Warning: Image at index 2945 has no bounding boxes. Skipping...Warning: Image at index 201 has no bounding boxes. Skipping...
Warning: Image at index 6368 has no bounding boxes. Skipping...
Warning: Image at index 1515 has no bounding boxes. Skipping...Warning: Image at index 3757 has no bounding boxes. Skipping...
Warning: Image at index 2344 has no bounding boxes. Skipping...Warning: Image at index 3950 has no bounding boxes. Skipping...Warning: Image at index 1527 has no bounding boxes. Skipping...
Warning: Image at index 6389 has no bounding boxes. Skipping...
Warning: Image at index 4663 has no bounding boxes. Skipping...
Warning: Image at index 4173 has no bounding boxes. Skipping...Warning: Image at index 7470 has no bounding boxes. Skipping...Warning: Image at index 3433 has no bounding boxes. Skipping...
Warning: Image at index 3769 has no bounding boxes. Skipping...
Warning: Image at index 4834 has no bounding boxes. Skipping...
Warning: Image at index 2572 has no bounding boxes. Skipping...Warning: Image at index 8209 has no bounding boxes. Skipping...
Warning: Image at index 2539 has no bounding boxes. Skipping...
Warning: Image at index 4594 has no bounding boxes. Skipping...
Warning: Image at index 4674 has no bounding boxes. Skipping...
Warning: Image at index 158 has no bounding boxes. Skipping...Warning: Image at index 6226 has no bounding boxes. Skipping...
Warning: Image at index 5126 has no bounding boxes. Skipping...
Warning: Image at index 7521 has no bounding boxes. Skipping...Warning: Image at index 1852 has no bounding boxes. Skipping...
Warning: Image at index 2268 has no bounding boxes. Skipping...
Warning: Image at index 861 has no bounding boxes. Skipping...
Warning: Image at index 4939 has no bounding boxes. Skipping...
Warning: Image at index 3322 has no bounding boxes. Skipping...
Warning: Image at index 7621 has no bounding boxes. Skipping...
Warning: Image at index 7543 has no bounding boxes. Skipping...
Warning: Image at index 5484 has no bounding boxes. Skipping...
Warning: Image at index 4172 has no bounding boxes. Skipping...
Warning: Image at index 2076 has no bounding boxes. Skipping...Warning: Image at index 4943 has no bounding boxes. Skipping...Warning: Image at index 7215 has no bounding boxes. Skipping...
Warning: Image at index 6755 has no bounding boxes. Skipping...
Warning: Image at index 6084 has no bounding boxes. Skipping...
Warning: Image at index 3235 has no bounding boxes. Skipping...Warning: Image at index 5868 has no bounding boxes. Skipping...
Warning: Image at index 7467 has no bounding boxes. Skipping...
Warning: Image at index 6218 has no bounding boxes. Skipping...Warning: Image at index 789 has no bounding boxes. Skipping...
Warning: Image at index 916 has no bounding boxes. Skipping...
Warning: Image at index 4236 has no bounding boxes. Skipping...
Warning: Image at index 485 has no bounding boxes. Skipping...Warning: Image at index 7733 has no bounding boxes. Skipping...Warning: Image at index 5618 has no bounding boxes. Skipping...
Warning: Image at index 3687 has no bounding boxes. Skipping...
Warning: Image at index 8240 has no bounding boxes. Skipping...
Warning: Image at index 7518 has no bounding boxes. Skipping...
Warning: Image at index 7978 has no bounding boxes. Skipping...Warning: Image at index 3848 has no bounding boxes. Skipping...Warning: Image at index 1999 has no bounding boxes. Skipping...
Warning: Image at index 6666 has no bounding boxes. Skipping...
Warning: Image at index 11 has no bounding boxes. Skipping...
Warning: Image at index 2567 has no bounding boxes. Skipping...Warning: Image at index 3921 has no bounding boxes. Skipping...Warning: Image at index 97 has no bounding boxes. Skipping...
Warning: Image at index 2969 has no bounding boxes. Skipping...
Warning: Image at index 1603 has no bounding boxes. Skipping...
Warning: Image at index 2867 has no bounding boxes. Skipping...
Warning: Image at index 938 has no bounding boxes. Skipping...
Warning: Image at index 6586 has no bounding boxes. Skipping...Warning: Image at index 5094 has no bounding boxes. Skipping...
Warning: Image at index 6440 has no bounding boxes. Skipping...Warning: Image at index 3367 has no bounding boxes. Skipping...
Warning: Image at index 3779 has no bounding boxes. Skipping...Warning: Image at index 5738 has no bounding boxes. Skipping...Warning: Image at index 7660 has no bounding boxes. Skipping...
Warning: Image at index 4428 has no bounding boxes. Skipping...
Warning: Image at index 7955 has no bounding boxes. Skipping...
Warning: Image at index 3844 has no bounding boxes. Skipping...
Warning: Image at index 7427 has no bounding boxes. Skipping...
Warning: Image at index 3441 has no bounding boxes. Skipping...Warning: Image at index 6789 has no bounding boxes. Skipping...
Warning: Image at index 7000 has no bounding boxes. Skipping...
Warning: Image at index 4792 has no bounding boxes. Skipping...
Warning: Image at index 6750 has no bounding boxes. Skipping...
Warning: Image at index 2347 has no bounding boxes. Skipping...
Warning: Image at index 5661 has no bounding boxes. Skipping...
Warning: Image at index 6979 has no bounding boxes. Skipping...
Warning: Image at index 7235 has no bounding boxes. Skipping...
Warning: Image at index 5653 has no bounding boxes. Skipping...Warning: Image at index 37 has no bounding boxes. Skipping...Warning: Image at index 2910 has no bounding boxes. Skipping...
Warning: Image at index 1729 has no bounding boxes. Skipping...
Warning: Image at index 4399 has no bounding boxes. Skipping...
Warning: Image at index 7979 has no bounding boxes. Skipping...Warning: Image at index 4548 has no bounding boxes. Skipping...
Warning: Image at index 3808 has no bounding boxes. Skipping...
Warning: Image at index 4462 has no bounding boxes. Skipping...Warning: Image at index 1435 has no bounding boxes. Skipping...Warning: Image at index 7763 has no bounding boxes. Skipping...Warning: Image at index 2852 has no bounding boxes. Skipping...
Warning: Image at index 3960 has no bounding boxes. Skipping...Warning: Image at index 927 has no bounding boxes. Skipping...
Warning: Image at index 4030 has no bounding boxes. Skipping...
Warning: Image at index 2082 has no bounding boxes. Skipping...Warning: Image at index 3405 has no bounding boxes. Skipping...Warning: Image at index 5090 has no bounding boxes. Skipping...
Warning: Image at index 6607 has no bounding boxes. Skipping...
Warning: Image at index 2739 has no bounding boxes. Skipping...Warning: Image at index 4020 has no bounding boxes. Skipping...
Warning: Image at index 1752 has no bounding boxes. Skipping...Warning: Image at index 6337 has no bounding boxes. Skipping...
Warning: Image at index 6249 has no bounding boxes. Skipping...Warning: Image at index 1444 has no bounding boxes. Skipping...
Warning: Image at index 1234 has no bounding boxes. Skipping...Warning: Image at index 3078 has no bounding boxes. Skipping...
Warning: Image at index 1252 has no bounding boxes. Skipping...
Warning: Image at index 1855 has no bounding boxes. Skipping...
Warning: Image at index 6268 has no bounding boxes. Skipping...Warning: Image at index 2250 has no bounding boxes. Skipping...
Warning: Image at index 584 has no bounding boxes. Skipping...
Warning: Image at index 2079 has no bounding boxes. Skipping...
Warning: Image at index 7773 has no bounding boxes. Skipping...
Warning: Image at index 5786 has no bounding boxes. Skipping...
Warning: Image at index 7905 has no bounding boxes. Skipping...Warning: Image at index 2230 has no bounding boxes. Skipping...
Warning: Image at index 1248 has no bounding boxes. Skipping...Warning: Image at index 708 has no bounding boxes. Skipping...
Warning: Image at index 2480 has no bounding boxes. Skipping...
Warning: Image at index 4180 has no bounding boxes. Skipping...Warning: Image at index 7401 has no bounding boxes. Skipping...
Warning: Image at index 2760 has no bounding boxes. Skipping...
Warning: Image at index 296 has no bounding boxes. Skipping...
Warning: Image at index 3913 has no bounding boxes. Skipping...
Warning: Image at index 4117 has no bounding boxes. Skipping...Warning: Image at index 4318 has no bounding boxes. Skipping...
Warning: Image at index 2890 has no bounding boxes. Skipping...
Warning: Image at index 7799 has no bounding boxes. Skipping...
Warning: Image at index 3903 has no bounding boxes. Skipping...
Warning: Image at index 2291 has no bounding boxes. Skipping...
Warning: Image at index 7988 has no bounding boxes. Skipping...Warning: Image at index 1805 has no bounding boxes. Skipping...
Warning: Image at index 5987 has no bounding boxes. Skipping...Warning: Image at index 8206 has no bounding boxes. Skipping...Warning: Image at index 1833 has no bounding boxes. Skipping...
Warning: Image at index 593 has no bounding boxes. Skipping...
Warning: Image at index 3904 has no bounding boxes. Skipping...
Warning: Image at index 7994 has no bounding boxes. Skipping...
Warning: Image at index 3707 has no bounding boxes. Skipping...
Warning: Image at index 6171 has no bounding boxes. Skipping...Warning: Image at index 2694 has no bounding boxes. Skipping...
Warning: Image at index 8251 has no bounding boxes. Skipping...
Warning: Image at index 3689 has no bounding boxes. Skipping...
Warning: Image at index 388 has no bounding boxes. Skipping...
Warning: Image at index 3597 has no bounding boxes. Skipping...
Warning: Image at index 6183 has no bounding boxes. Skipping...
Warning: Image at index 5285 has no bounding boxes. Skipping...
Warning: Image at index 8053 has no bounding boxes. Skipping...Warning: Image at index 3134 has no bounding boxes. Skipping...
Warning: Image at index 1512 has no bounding boxes. Skipping...
Warning: Image at index 4613 has no bounding boxes. Skipping...
Warning: Image at index 4037 has no bounding boxes. Skipping...
Warning: Image at index 2649 has no bounding boxes. Skipping...
Warning: Image at index 5375 has no bounding boxes. Skipping...
Warning: Image at index 4040 has no bounding boxes. Skipping...
Warning: Image at index 3291 has no bounding boxes. Skipping...Warning: Image at index 4729 has no bounding boxes. Skipping...
Warning: Image at index 889 has no bounding boxes. Skipping...
Warning: Image at index 2165 has no bounding boxes. Skipping...Warning: Image at index 4790 has no bounding boxes. Skipping...
Warning: Image at index 1754 has no bounding boxes. Skipping...
Warning: Image at index 7441 has no bounding boxes. Skipping...
Warning: Image at index 4070 has no bounding boxes. Skipping...
Warning: Image at index 5882 has no bounding boxes. Skipping...
Warning: Image at index 4 has no bounding boxes. Skipping...Warning: Image at index 3755 has no bounding boxes. Skipping...
Warning: Image at index 6883 has no bounding boxes. Skipping...
Warning: Image at index 4402 has no bounding boxes. Skipping...Warning: Image at index 6982 has no bounding boxes. Skipping...Warning: Image at index 3618 has no bounding boxes. Skipping...
Warning: Image at index 5447 has no bounding boxes. Skipping...
Warning: Image at index 5175 has no bounding boxes. Skipping...
Warning: Image at index 2341 has no bounding boxes. Skipping...
Warning: Image at index 640 has no bounding boxes. Skipping...Warning: Image at index 5646 has no bounding boxes. Skipping...
Warning: Image at index 3345 has no bounding boxes. Skipping...Warning: Image at index 3342 has no bounding boxes. Skipping...
Warning: Image at index 4404 has no bounding boxes. Skipping...Warning: Image at index 2608 has no bounding boxes. Skipping...
Warning: Image at index 5431 has no bounding boxes. Skipping...
Warning: Image at index 423 has no bounding boxes. Skipping...
Warning: Image at index 5812 has no bounding boxes. Skipping...
Warning: Image at index 4279 has no bounding boxes. Skipping...
Warning: Image at index 395 has no bounding boxes. Skipping...
Warning: Image at index 3708 has no bounding boxes. Skipping...
Warning: Image at index 3586 has no bounding boxes. Skipping...
Warning: Image at index 4265 has no bounding boxes. Skipping...
Warning: Image at index 679 has no bounding boxes. Skipping...
Warning: Image at index 381 has no bounding boxes. Skipping...
Warning: Image at index 6821 has no bounding boxes. Skipping...
Warning: Image at index 5316 has no bounding boxes. Skipping...
Warning: Image at index 6095 has no bounding boxes. Skipping...
Warning: Image at index 2237 has no bounding boxes. Skipping...
Warning: Image at index 160 has no bounding boxes. Skipping...Warning: Image at index 5076 has no bounding boxes. Skipping...
Warning: Image at index 1959 has no bounding boxes. Skipping...Warning: Image at index 5263 has no bounding boxes. Skipping...
Warning: Image at index 3072 has no bounding boxes. Skipping...
Warning: Image at index 1326 has no bounding boxes. Skipping...Warning: Image at index 7315 has no bounding boxes. Skipping...
Warning: Image at index 1645 has no bounding boxes. Skipping...Warning: Image at index 5317 has no bounding boxes. Skipping...
Warning: Image at index 6459 has no bounding boxes. Skipping...Warning: Image at index 7326 has no bounding boxes. Skipping...
Warning: Image at index 405 has no bounding boxes. Skipping...
Warning: Image at index 7654 has no bounding boxes. Skipping...
Warning: Image at index 4930 has no bounding boxes. Skipping...
Warning: Image at index 2759 has no bounding boxes. Skipping...Warning: Image at index 776 has no bounding boxes. Skipping...
Warning: Image at index 1012 has no bounding boxes. Skipping...
Warning: Image at index 3221 has no bounding boxes. Skipping...
Warning: Image at index 4140 has no bounding boxes. Skipping...Warning: Image at index 5399 has no bounding boxes. Skipping...
Warning: Image at index 183 has no bounding boxes. Skipping...
Warning: Image at index 1355 has no bounding boxes. Skipping...
Warning: Image at index 2120 has no bounding boxes. Skipping...
Warning: Image at index 4348 has no bounding boxes. Skipping...Warning: Image at index 3122 has no bounding boxes. Skipping...
Warning: Image at index 1393 has no bounding boxes. Skipping...
Warning: Image at index 3349 has no bounding boxes. Skipping...
Warning: Image at index 4259 has no bounding boxes. Skipping...Warning: Image at index 6857 has no bounding boxes. Skipping...
Warning: Image at index 7380 has no bounding boxes. Skipping...
Warning: Image at index 877 has no bounding boxes. Skipping...Warning: Image at index 2659 has no bounding boxes. Skipping...
Warning: Image at index 4521 has no bounding boxes. Skipping...
Warning: Image at index 6835 has no bounding boxes. Skipping...
Warning: Image at index 7143 has no bounding boxes. Skipping...Warning: Image at index 4061 has no bounding boxes. Skipping...
Warning: Image at index 2749 has no bounding boxes. Skipping...
Warning: Image at index 4100 has no bounding boxes. Skipping...
Warning: Image at index 6988 has no bounding boxes. Skipping...Warning: Image at index 5624 has no bounding boxes. Skipping...
Warning: Image at index 4989 has no bounding boxes. Skipping...Warning: Image at index 1227 has no bounding boxes. Skipping...
Warning: Image at index 5483 has no bounding boxes. Skipping...
Warning: Image at index 4890 has no bounding boxes. Skipping...
Warning: Image at index 4327 has no bounding boxes. Skipping...
Warning: Image at index 1990 has no bounding boxes. Skipping...
Warning: Image at index 3483 has no bounding boxes. Skipping...
Warning: Image at index 1084 has no bounding boxes. Skipping...
Warning: Image at index 7431 has no bounding boxes. Skipping...Warning: Image at index 7261 has no bounding boxes. Skipping...Warning: Image at index 5225 has no bounding boxes. Skipping...
Warning: Image at index 7803 has no bounding boxes. Skipping...
Warning: Image at index 2726 has no bounding boxes. Skipping...
Warning: Image at index 5475 has no bounding boxes. Skipping...
Warning: Image at index 2857 has no bounding boxes. Skipping...
Warning: Image at index 7628 has no bounding boxes. Skipping...
Warning: Image at index 977 has no bounding boxes. Skipping...Warning: Image at index 8112 has no bounding boxes. Skipping...
Warning: Image at index 2262 has no bounding boxes. Skipping...
Warning: Image at index 1665 has no bounding boxes. Skipping...
Warning: Image at index 6594 has no bounding boxes. Skipping...Warning: Image at index 8068 has no bounding boxes. Skipping...Warning: Image at index 5649 has no bounding boxes. Skipping...
Warning: Image at index 6636 has no bounding boxes. Skipping...Warning: Image at index 1405 has no bounding boxes. Skipping...Warning: Image at index 5617 has no bounding boxes. Skipping...
Warning: Image at index 3006 has no bounding boxes. Skipping...Warning: Image at index 1192 has no bounding boxes. Skipping...
Warning: Image at index 693 has no bounding boxes. Skipping...Warning: Image at index 1023 has no bounding boxes. Skipping...
Warning: Image at index 2360 has no bounding boxes. Skipping...
Warning: Image at index 752 has no bounding boxes. Skipping...
Warning: Image at index 4654 has no bounding boxes. Skipping...Warning: Image at index 3377 has no bounding boxes. Skipping...
Warning: Image at index 2557 has no bounding boxes. Skipping...
Warning: Image at index 262 has no bounding boxes. Skipping...Warning: Image at index 6656 has no bounding boxes. Skipping...
Warning: Image at index 1485 has no bounding boxes. Skipping...Warning: Image at index 8128 has no bounding boxes. Skipping...Warning: Image at index 5863 has no bounding boxes. Skipping...
Warning: Image at index 8157 has no bounding boxes. Skipping...
Warning: Image at index 3474 has no bounding boxes. Skipping...Warning: Image at index 1313 has no bounding boxes. Skipping...
Warning: Image at index 6106 has no bounding boxes. Skipping...Warning: Image at index 1866 has no bounding boxes. Skipping...
Warning: Image at index 929 has no bounding boxes. Skipping...
Warning: Image at index 8041 has no bounding boxes. Skipping...Warning: Image at index 2446 has no bounding boxes. Skipping...Warning: Image at index 4572 has no bounding boxes. Skipping...Warning: Image at index 7190 has no bounding boxes. Skipping...
Warning: Image at index 6534 has no bounding boxes. Skipping...Warning: Image at index 2179 has no bounding boxes. Skipping...
Warning: Image at index 5872 has no bounding boxes. Skipping...
Warning: Image at index 5117 has no bounding boxes. Skipping...
Warning: Image at index 7371 has no bounding boxes. Skipping...
Warning: Image at index 5391 has no bounding boxes. Skipping...Warning: Image at index 41 has no bounding boxes. Skipping...
Warning: Image at index 3255 has no bounding boxes. Skipping...Warning: Image at index 2992 has no bounding boxes. Skipping...
Warning: Image at index 7240 has no bounding boxes. Skipping...
Warning: Image at index 5309 has no bounding boxes. Skipping...
Warning: Image at index 4700 has no bounding boxes. Skipping...Warning: Image at index 4539 has no bounding boxes. Skipping...
Warning: Image at index 1457 has no bounding boxes. Skipping...
Warning: Image at index 1858 has no bounding boxes. Skipping...
Warning: Image at index 8252 has no bounding boxes. Skipping...
Warning: Image at index 845 has no bounding boxes. Skipping...Warning: Image at index 6248 has no bounding boxes. Skipping...
Warning: Image at index 8239 has no bounding boxes. Skipping...
Warning: Image at index 2630 has no bounding boxes. Skipping...
Warning: Image at index 3727 has no bounding boxes. Skipping...Warning: Image at index 2938 has no bounding boxes. Skipping...
Warning: Image at index 425 has no bounding boxes. Skipping...
Warning: Image at index 3655 has no bounding boxes. Skipping...
Warning: Image at index 6569 has no bounding boxes. Skipping...Warning: Image at index 5913 has no bounding boxes. Skipping...
Warning: Image at index 162 has no bounding boxes. Skipping...Warning: Image at index 4494 has no bounding boxes. Skipping...
Warning: Image at index 562 has no bounding boxes. Skipping...Warning: Image at index 164 has no bounding boxes. Skipping...
Warning: Image at index 8092 has no bounding boxes. Skipping...Warning: Image at index 5965 has no bounding boxes. Skipping...
Warning: Image at index 2689 has no bounding boxes. Skipping...Warning: Image at index 1664 has no bounding boxes. Skipping...
Warning: Image at index 7330 has no bounding boxes. Skipping...
Warning: Image at index 1304 has no bounding boxes. Skipping...
Warning: Image at index 1846 has no bounding boxes. Skipping...Warning: Image at index 7923 has no bounding boxes. Skipping...
Warning: Image at index 2374 has no bounding boxes. Skipping...Warning: Image at index 2913 has no bounding boxes. Skipping...Warning: Image at index 5127 has no bounding boxes. Skipping...
Warning: Image at index 3899 has no bounding boxes. Skipping...
Warning: Image at index 8208 has no bounding boxes. Skipping...Warning: Image at index 7172 has no bounding boxes. Skipping...
Warning: Image at index 6079 has no bounding boxes. Skipping...Warning: Image at index 6693 has no bounding boxes. Skipping...
Warning: Image at index 7914 has no bounding boxes. Skipping...
Warning: Image at index 3764 has no bounding boxes. Skipping...Warning: Image at index 5525 has no bounding boxes. Skipping...
Warning: Image at index 4711 has no bounding boxes. Skipping...
Warning: Image at index 6661 has no bounding boxes. Skipping...Warning: Image at index 523 has no bounding boxes. Skipping...Warning: Image at index 7390 has no bounding boxes. Skipping...
Warning: Image at index 2897 has no bounding boxes. Skipping...
Warning: Image at index 5644 has no bounding boxes. Skipping...
Warning: Image at index 2040 has no bounding boxes. Skipping...
Warning: Image at index 6066 has no bounding boxes. Skipping...
Warning: Image at index 6031 has no bounding boxes. Skipping...Warning: Image at index 4254 has no bounding boxes. Skipping...
Warning: Image at index 4861 has no bounding boxes. Skipping...
Warning: Image at index 4782 has no bounding boxes. Skipping...Warning: Image at index 3253 has no bounding boxes. Skipping...Warning: Image at index 8008 has no bounding boxes. Skipping...
Warning: Image at index 990 has no bounding boxes. Skipping...
Warning: Image at index 2528 has no bounding boxes. Skipping...
Warning: Image at index 6889 has no bounding boxes. Skipping...
Warning: Image at index 1734 has no bounding boxes. Skipping...
Warning: Image at index 1602 has no bounding boxes. Skipping...
Warning: Image at index 3425 has no bounding boxes. Skipping...
Warning: Image at index 5461 has no bounding boxes. Skipping...
Warning: Image at index 3624 has no bounding boxes. Skipping...
Warning: Image at index 4783 has no bounding boxes. Skipping...
Warning: Image at index 4559 has no bounding boxes. Skipping...Warning: Image at index 4076 has no bounding boxes. Skipping...
Warning: Image at index 2227 has no bounding boxes. Skipping...
Warning: Image at index 3507 has no bounding boxes. Skipping...
Warning: Image at index 4896 has no bounding boxes. Skipping...Warning: Image at index 2055 has no bounding boxes. Skipping...
Warning: Image at index 7830 has no bounding boxes. Skipping...
Warning: Image at index 2311 has no bounding boxes. Skipping...
Warning: Image at index 4046 has no bounding boxes. Skipping...Warning: Image at index 6402 has no bounding boxes. Skipping...
Warning: Image at index 2619 has no bounding boxes. Skipping...Warning: Image at index 6129 has no bounding boxes. Skipping...
Warning: Image at index 962 has no bounding boxes. Skipping...Warning: Image at index 5035 has no bounding boxes. Skipping...
Warning: Image at index 4617 has no bounding boxes. Skipping...
Warning: Image at index 6930 has no bounding boxes. Skipping...
Warning: Image at index 7969 has no bounding boxes. Skipping...
Warning: Image at index 6030 has no bounding boxes. Skipping...
Warning: Image at index 5630 has no bounding boxes. Skipping...Warning: Image at index 407 has no bounding boxes. Skipping...
Warning: Image at index 2899 has no bounding boxes. Skipping...
Warning: Image at index 3765 has no bounding boxes. Skipping...Warning: Image at index 7424 has no bounding boxes. Skipping...Warning: Image at index 7034 has no bounding boxes. Skipping...
Warning: Image at index 5130 has no bounding boxes. Skipping...Warning: Image at index 4871 has no bounding boxes. Skipping...
Warning: Image at index 7714 has no bounding boxes. Skipping...Warning: Image at index 3982 has no bounding boxes. Skipping...
Warning: Image at index 6152 has no bounding boxes. Skipping...
Warning: Image at index 4964 has no bounding boxes. Skipping...Warning: Image at index 7154 has no bounding boxes. Skipping...
Warning: Image at index 3529 has no bounding boxes. Skipping...
Warning: Image at index 8019 has no bounding boxes. Skipping...Warning: Image at index 2856 has no bounding boxes. Skipping...
Warning: Image at index 5901 has no bounding boxes. Skipping...Warning: Image at index 7611 has no bounding boxes. Skipping...
Warning: Image at index 2802 has no bounding boxes. Skipping...Warning: Image at index 4753 has no bounding boxes. Skipping...
Warning: Image at index 4731 has no bounding boxes. Skipping...Warning: Image at index 7506 has no bounding boxes. Skipping...
Warning: Image at index 5216 has no bounding boxes. Skipping...
Warning: Image at index 7487 has no bounding boxes. Skipping...
Warning: Image at index 3046 has no bounding boxes. Skipping...
Warning: Image at index 788 has no bounding boxes. Skipping...
Warning: Image at index 6929 has no bounding boxes. Skipping...Warning: Image at index 5405 has no bounding boxes. Skipping...Warning: Image at index 3117 has no bounding boxes. Skipping...
Warning: Image at index 5980 has no bounding boxes. Skipping...
Warning: Image at index 263 has no bounding boxes. Skipping...
Warning: Image at index 2505 has no bounding boxes. Skipping...
Warning: Image at index 3304 has no bounding boxes. Skipping...
Warning: Image at index 736 has no bounding boxes. Skipping...Warning: Image at index 2137 has no bounding boxes. Skipping...
Warning: Image at index 6493 has no bounding boxes. Skipping...Warning: Image at index 5010 has no bounding boxes. Skipping...
Warning: Image at index 7088 has no bounding boxes. Skipping...Warning: Image at index 2928 has no bounding boxes. Skipping...
Warning: Image at index 7090 has no bounding boxes. Skipping...Warning: Image at index 2548 has no bounding boxes. Skipping...Warning: Image at index 1791 has no bounding boxes. Skipping...
Warning: Image at index 4378 has no bounding boxes. Skipping...
Warning: Image at index 1809 has no bounding boxes. Skipping...Warning: Image at index 2318 has no bounding boxes. Skipping...Warning: Image at index 2637 has no bounding boxes. Skipping...
Warning: Image at index 898 has no bounding boxes. Skipping...
Warning: Image at index 4320 has no bounding boxes. Skipping...
Warning: Image at index 1842 has no bounding boxes. Skipping...Warning: Image at index 1859 has no bounding boxes. Skipping...Warning: Image at index 2524 has no bounding boxes. Skipping...
Warning: Image at index 6215 has no bounding boxes. Skipping...
Warning: Image at index 4847 has no bounding boxes. Skipping...Warning: Image at index 3519 has no bounding boxes. Skipping...
Warning: Image at index 6103 has no bounding boxes. Skipping...
Warning: Image at index 3357 has no bounding boxes. Skipping...
Warning: Image at index 3493 has no bounding boxes. Skipping...Warning: Image at index 2592 has no bounding boxes. Skipping...
Warning: Image at index 1039 has no bounding boxes. Skipping...Warning: Image at index 3940 has no bounding boxes. Skipping...Warning: Image at index 7466 has no bounding boxes. Skipping...
Warning: Image at index 3469 has no bounding boxes. Skipping...Warning: Image at index 5829 has no bounding boxes. Skipping...Warning: Image at index 4571 has no bounding boxes. Skipping...
Warning: Image at index 1219 has no bounding boxes. Skipping...Warning: Image at index 4538 has no bounding boxes. Skipping...
Warning: Image at index 3074 has no bounding boxes. Skipping...
Warning: Image at index 3003 has no bounding boxes. Skipping...Warning: Image at index 1368 has no bounding boxes. Skipping...
Warning: Image at index 111 has no bounding boxes. Skipping...Warning: Image at index 5106 has no bounding boxes. Skipping...
Warning: Image at index 4545 has no bounding boxes. Skipping...
Warning: Image at index 5782 has no bounding boxes. Skipping...
Warning: Image at index 7699 has no bounding boxes. Skipping...
Warning: Image at index 7221 has no bounding boxes. Skipping...
Warning: Image at index 5244 has no bounding boxes. Skipping...Warning: Image at index 2971 has no bounding boxes. Skipping...
Warning: Image at index 1097 has no bounding boxes. Skipping...
Warning: Image at index 7548 has no bounding boxes. Skipping...
Warning: Image at index 3133 has no bounding boxes. Skipping...
Warning: Image at index 1231 has no bounding boxes. Skipping...
Warning: Image at index 4345 has no bounding boxes. Skipping...
Warning: Image at index 532 has no bounding boxes. Skipping...
Warning: Image at index 3670 has no bounding boxes. Skipping...Warning: Image at index 5164 has no bounding boxes. Skipping...
Warning: Image at index 1 has no bounding boxes. Skipping...Warning: Image at index 5041 has no bounding boxes. Skipping...
Warning: Image at index 602 has no bounding boxes. Skipping...
Warning: Image at index 1075 has no bounding boxes. Skipping...
Warning: Image at index 4680 has no bounding boxes. Skipping...Warning: Image at index 5380 has no bounding boxes. Skipping...
Warning: Image at index 4247 has no bounding boxes. Skipping...
Warning: Image at index 6898 has no bounding boxes. Skipping...Warning: Image at index 1857 has no bounding boxes. Skipping...
Warning: Image at index 7396 has no bounding boxes. Skipping...Warning: Image at index 3531 has no bounding boxes. Skipping...
Warning: Image at index 4643 has no bounding boxes. Skipping...
Warning: Image at index 1992 has no bounding boxes. Skipping...Warning: Image at index 6575 has no bounding boxes. Skipping...
Warning: Image at index 3794 has no bounding boxes. Skipping...Warning: Image at index 5084 has no bounding boxes. Skipping...
Warning: Image at index 272 has no bounding boxes. Skipping...Warning: Image at index 2834 has no bounding boxes. Skipping...
Warning: Image at index 1851 has no bounding boxes. Skipping...
Warning: Image at index 7897 has no bounding boxes. Skipping...
Warning: Image at index 7194 has no bounding boxes. Skipping...Warning: Image at index 7634 has no bounding boxes. Skipping...
Warning: Image at index 1017 has no bounding boxes. Skipping...Warning: Image at index 432 has no bounding boxes. Skipping...
Warning: Image at index 7075 has no bounding boxes. Skipping...
Warning: Image at index 1387 has no bounding boxes. Skipping...Warning: Image at index 1143 has no bounding boxes. Skipping...
Warning: Image at index 4400 has no bounding boxes. Skipping...
Warning: Image at index 110 has no bounding boxes. Skipping...
Warning: Image at index 677 has no bounding boxes. Skipping...
Warning: Image at index 5142 has no bounding boxes. Skipping...
Warning: Image at index 3774 has no bounding boxes. Skipping...
Warning: Image at index 5449 has no bounding boxes. Skipping...
Warning: Image at index 717 has no bounding boxes. Skipping...Warning: Image at index 1147 has no bounding boxes. Skipping...
Warning: Image at index 5235 has no bounding boxes. Skipping...
Warning: Image at index 6369 has no bounding boxes. Skipping...
Warning: Image at index 5746 has no bounding boxes. Skipping...Warning: Image at index 2515 has no bounding boxes. Skipping...
Warning: Image at index 5959 has no bounding boxes. Skipping...
Warning: Image at index 1565 has no bounding boxes. Skipping...Warning: Image at index 3280 has no bounding boxes. Skipping...Warning: Image at index 304 has no bounding boxes. Skipping...
Warning: Image at index 2329 has no bounding boxes. Skipping...
Warning: Image at index 1497 has no bounding boxes. Skipping...
Warning: Image at index 5081 has no bounding boxes. Skipping...Warning: Image at index 2048 has no bounding boxes. Skipping...
Warning: Image at index 3919 has no bounding boxes. Skipping...
Warning: Image at index 6313 has no bounding boxes. Skipping...Warning: Image at index 7031 has no bounding boxes. Skipping...
Warning: Image at index 4349 has no bounding boxes. Skipping...
Warning: Image at index 4507 has no bounding boxes. Skipping...
Warning: Image at index 882 has no bounding boxes. Skipping...Warning: Image at index 1213 has no bounding boxes. Skipping...
Warning: Image at index 1247 has no bounding boxes. Skipping...
Warning: Image at index 7546 has no bounding boxes. Skipping...
Warning: Image at index 1578 has no bounding boxes. Skipping...
Warning: Image at index 5288 has no bounding boxes. Skipping...Warning: Image at index 2999 has no bounding boxes. Skipping...
Warning: Image at index 4568 has no bounding boxes. Skipping...
Warning: Image at index 5571 has no bounding boxes. Skipping...
Warning: Image at index 1336 has no bounding boxes. Skipping...
Warning: Image at index 3832 has no bounding boxes. Skipping...Warning: Image at index 1507 has no bounding boxes. Skipping...Warning: Image at index 7334 has no bounding boxes. Skipping...
Warning: Image at index 906 has no bounding boxes. Skipping...
Warning: Image at index 3578 has no bounding boxes. Skipping...
Warning: Image at index 4395 has no bounding boxes. Skipping...
Warning: Image at index 5359 has no bounding boxes. Skipping...
Warning: Image at index 1971 has no bounding boxes. Skipping...
Warning: Image at index 2375 has no bounding boxes. Skipping...Warning: Image at index 5687 has no bounding boxes. Skipping...
Warning: Image at index 1284 has no bounding boxes. Skipping...
Warning: Image at index 6568 has no bounding boxes. Skipping...
Warning: Image at index 2209 has no bounding boxes. Skipping...Warning: Image at index 2032 has no bounding boxes. Skipping...
Warning: Image at index 7589 has no bounding boxes. Skipping...Warning: Image at index 1744 has no bounding boxes. Skipping...
Warning: Image at index 8274 has no bounding boxes. Skipping...
Warning: Image at index 7364 has no bounding boxes. Skipping...
Warning: Image at index 3310 has no bounding boxes. Skipping...
Warning: Image at index 281 has no bounding boxes. Skipping...
Warning: Image at index 960 has no bounding boxes. Skipping...Warning: Image at index 5009 has no bounding boxes. Skipping...
Warning: Image at index 6612 has no bounding boxes. Skipping...
Warning: Image at index 711 has no bounding boxes. Skipping...
Warning: Image at index 4577 has no bounding boxes. Skipping...
Warning: Image at index 7224 has no bounding boxes. Skipping...Warning: Image at index 4252 has no bounding boxes. Skipping...
Warning: Image at index 3140 has no bounding boxes. Skipping...
Warning: Image at index 6211 has no bounding boxes. Skipping...Warning: Image at index 2492 has no bounding boxes. Skipping...
Warning: Image at index 6329 has no bounding boxes. Skipping...
Warning: Image at index 3840 has no bounding boxes. Skipping...
Warning: Image at index 7920 has no bounding boxes. Skipping...
Warning: Image at index 7422 has no bounding boxes. Skipping...Warning: Image at index 207 has no bounding boxes. Skipping...
Warning: Image at index 3988 has no bounding boxes. Skipping...Warning: Image at index 4547 has no bounding boxes. Skipping...Warning: Image at index 2871 has no bounding boxes. Skipping...
Warning: Image at index 7510 has no bounding boxes. Skipping...
Warning: Image at index 2742 has no bounding boxes. Skipping...Warning: Image at index 8219 has no bounding boxes. Skipping...Warning: Image at index 7183 has no bounding boxes. Skipping...
Warning: Image at index 5052 has no bounding boxes. Skipping...
Warning: Image at index 6247 has no bounding boxes. Skipping...
Warning: Image at index 226 has no bounding boxes. Skipping...
Warning: Image at index 6137 has no bounding boxes. Skipping...
Warning: Image at index 1693 has no bounding boxes. Skipping...Warning: Image at index 2780 has no bounding boxes. Skipping...Warning: Image at index 4270 has no bounding boxes. Skipping...
Warning: Image at index 5501 has no bounding boxes. Skipping...
Warning: Image at index 6175 has no bounding boxes. Skipping...Warning: Image at index 6984 has no bounding boxes. Skipping...Warning: Image at index 451 has no bounding boxes. Skipping...
Warning: Image at index 2744 has no bounding boxes. Skipping...
Warning: Image at index 5973 has no bounding boxes. Skipping...
Warning: Image at index 3571 has no bounding boxes. Skipping...
Warning: Image at index 4358 has no bounding boxes. Skipping...Warning: Image at index 1881 has no bounding boxes. Skipping...Warning: Image at index 7742 has no bounding boxes. Skipping...
Warning: Image at index 3634 has no bounding boxes. Skipping...
Warning: Image at index 8199 has no bounding boxes. Skipping...Warning: Image at index 2640 has no bounding boxes. Skipping...
Warning: Image at index 594 has no bounding boxes. Skipping...
Warning: Image at index 4182 has no bounding boxes. Skipping...Warning: Image at index 5915 has no bounding boxes. Skipping...
Warning: Image at index 4619 has no bounding boxes. Skipping...Warning: Image at index 3975 has no bounding boxes. Skipping...
Warning: Image at index 5632 has no bounding boxes. Skipping...
Warning: Image at index 2906 has no bounding boxes. Skipping...
Warning: Image at index 8026 has no bounding boxes. Skipping...
Warning: Image at index 2251 has no bounding boxes. Skipping...
Warning: Image at index 4774 has no bounding boxes. Skipping...Warning: Image at index 457 has no bounding boxes. Skipping...
Warning: Image at index 7721 has no bounding boxes. Skipping...Warning: Image at index 4647 has no bounding boxes. Skipping...
Warning: Image at index 4237 has no bounding boxes. Skipping...Warning: Image at index 2395 has no bounding boxes. Skipping...
Warning: Image at index 1035 has no bounding boxes. Skipping...
Warning: Image at index 2907 has no bounding boxes. Skipping...Warning: Image at index 5836 has no bounding boxes. Skipping...
Warning: Image at index 2164 has no bounding boxes. Skipping...
Warning: Image at index 2776 has no bounding boxes. Skipping...Warning: Image at index 4892 has no bounding boxes. Skipping...Warning: Image at index 4707 has no bounding boxes. Skipping...
Warning: Image at index 6061 has no bounding boxes. Skipping...Warning: Image at index 1601 has no bounding boxes. Skipping...
Warning: Image at index 2012 has no bounding boxes. Skipping...
Warning: Image at index 1703 has no bounding boxes. Skipping...
Warning: Image at index 2895 has no bounding boxes. Skipping...
Warning: Image at index 2597 has no bounding boxes. Skipping...Warning: Image at index 4841 has no bounding boxes. Skipping...
Warning: Image at index 6000 has no bounding boxes. Skipping...
Warning: Image at index 6866 has no bounding boxes. Skipping...
Warning: Image at index 3271 has no bounding boxes. Skipping...Warning: Image at index 2578 has no bounding boxes. Skipping...
Warning: Image at index 6796 has no bounding boxes. Skipping...
Warning: Image at index 3725 has no bounding boxes. Skipping...
Warning: Image at index 5373 has no bounding boxes. Skipping...Warning: Image at index 1021 has no bounding boxes. Skipping...Warning: Image at index 804 has no bounding boxes. Skipping...
Warning: Image at index 3228 has no bounding boxes. Skipping...
Warning: Image at index 7499 has no bounding boxes. Skipping...Warning: Image at index 8174 has no bounding boxes. Skipping...
Warning: Image at index 2266 has no bounding boxes. Skipping...
Warning: Image at index 4696 has no bounding boxes. Skipping...
Warning: Image at index 6153 has no bounding boxes. Skipping...
Warning: Image at index 8124 has no bounding boxes. Skipping...Warning: Image at index 2644 has no bounding boxes. Skipping...
Warning: Image at index 61 has no bounding boxes. Skipping...
Warning: Image at index 1701 has no bounding boxes. Skipping...
Warning: Image at index 2198 has no bounding boxes. Skipping...
Warning: Image at index 1108 has no bounding boxes. Skipping...Warning: Image at index 2321 has no bounding boxes. Skipping...
Warning: Image at index 7265 has no bounding boxes. Skipping...
Warning: Image at index 5572 has no bounding boxes. Skipping...Warning: Image at index 1323 has no bounding boxes. Skipping...
Warning: Image at index 7762 has no bounding boxes. Skipping...
Warning: Image at index 7734 has no bounding boxes. Skipping...
Warning: Image at index 3983 has no bounding boxes. Skipping...Warning: Image at index 1944 has no bounding boxes. Skipping...
Warning: Image at index 5700 has no bounding boxes. Skipping...Warning: Image at index 4678 has no bounding boxes. Skipping...
Warning: Image at index 7279 has no bounding boxes. Skipping...Warning: Image at index 1652 has no bounding boxes. Skipping...Warning: Image at index 1006 has no bounding boxes. Skipping...
Warning: Image at index 3542 has no bounding boxes. Skipping...Warning: Image at index 3786 has no bounding boxes. Skipping...
Warning: Image at index 6717 has no bounding boxes. Skipping...
Warning: Image at index 6553 has no bounding boxes. Skipping...
Warning: Image at index 4551 has no bounding boxes. Skipping...Warning: Image at index 3199 has no bounding boxes. Skipping...Warning: Image at index 5013 has no bounding boxes. Skipping...
Warning: Image at index 6087 has no bounding boxes. Skipping...Warning: Image at index 597 has no bounding boxes. Skipping...
Warning: Image at index 4025 has no bounding boxes. Skipping...
Warning: Image at index 5413 has no bounding boxes. Skipping...Warning: Image at index 5602 has no bounding boxes. Skipping...Warning: Image at index 4168 has no bounding boxes. Skipping...Warning: Image at index 6432 has no bounding boxes. Skipping...
Warning: Image at index 2162 has no bounding boxes. Skipping...Warning: Image at index 2598 has no bounding boxes. Skipping...
Warning: Image at index 2734 has no bounding boxes. Skipping...
Warning: Image at index 1411 has no bounding boxes. Skipping...
Warning: Image at index 8073 has no bounding boxes. Skipping...
Warning: Image at index 5382 has no bounding boxes. Skipping...
Warning: Image at index 195 has no bounding boxes. Skipping...Warning: Image at index 1724 has no bounding boxes. Skipping...
Warning: Image at index 7300 has no bounding boxes. Skipping...
Warning: Image at index 6372 has no bounding boxes. Skipping...
Warning: Image at index 491 has no bounding boxes. Skipping...
Warning: Image at index 4773 has no bounding boxes. Skipping...
Warning: Image at index 888 has no bounding boxes. Skipping...
Warning: Image at index 151 has no bounding boxes. Skipping...
Warning: Image at index 5448 has no bounding boxes. Skipping...Warning: Image at index 7793 has no bounding boxes. Skipping...Warning: Image at index 3093 has no bounding boxes. Skipping...
Warning: Image at index 937 has no bounding boxes. Skipping...
Warning: Image at index 7686 has no bounding boxes. Skipping...
Warning: Image at index 297 has no bounding boxes. Skipping...Warning: Image at index 7693 has no bounding boxes. Skipping...
Warning: Image at index 6845 has no bounding boxes. Skipping...
Warning: Image at index 5527 has no bounding boxes. Skipping...Warning: Image at index 5201 has no bounding boxes. Skipping...
Warning: Image at index 2461 has no bounding boxes. Skipping...Warning: Image at index 798 has no bounding boxes. Skipping...Warning: Image at index 291 has no bounding boxes. Skipping...
Warning: Image at index 3761 has no bounding boxes. Skipping...Warning: Image at index 1217 has no bounding boxes. Skipping...
Warning: Image at index 1914 has no bounding boxes. Skipping...
Warning: Image at index 4714 has no bounding boxes. Skipping...
Warning: Image at index 115 has no bounding boxes. Skipping...Warning: Image at index 4135 has no bounding boxes. Skipping...
Warning: Image at index 328 has no bounding boxes. Skipping...
Warning: Image at index 2185 has no bounding boxes. Skipping...
Warning: Image at index 7317 has no bounding boxes. Skipping...
Warning: Image at index 5027 has no bounding boxes. Skipping...Warning: Image at index 7547 has no bounding boxes. Skipping...
Warning: Image at index 2844 has no bounding boxes. Skipping...Warning: Image at index 2712 has no bounding boxes. Skipping...
Warning: Image at index 2276 has no bounding boxes. Skipping...
Warning: Image at index 2067 has no bounding boxes. Skipping...
Warning: Image at index 4806 has no bounding boxes. Skipping...
Warning: Image at index 6421 has no bounding boxes. Skipping...
Warning: Image at index 7149 has no bounding boxes. Skipping...
Warning: Image at index 4492 has no bounding boxes. Skipping...Warning: Image at index 7725 has no bounding boxes. Skipping...
Warning: Image at index 5592 has no bounding boxes. Skipping...
Warning: Image at index 7320 has no bounding boxes. Skipping...
Warning: Image at index 6912 has no bounding boxes. Skipping...
Warning: Image at index 3987 has no bounding boxes. Skipping...Warning: Image at index 3226 has no bounding boxes. Skipping...
Warning: Image at index 372 has no bounding boxes. Skipping...Warning: Image at index 1144 has no bounding boxes. Skipping...Warning: Image at index 5407 has no bounding boxes. Skipping...
Warning: Image at index 5734 has no bounding boxes. Skipping...
Warning: Image at index 3014 has no bounding boxes. Skipping...
Warning: Image at index 7043 has no bounding boxes. Skipping...Warning: Image at index 7867 has no bounding boxes. Skipping...
Warning: Image at index 3224 has no bounding boxes. Skipping...Warning: Image at index 8175 has no bounding boxes. Skipping...Warning: Image at index 4815 has no bounding boxes. Skipping...
Warning: Image at index 6040 has no bounding boxes. Skipping...Warning: Image at index 2639 has no bounding boxes. Skipping...Warning: Image at index 3053 has no bounding boxes. Skipping...Warning: Image at index 3668 has no bounding boxes. Skipping...
Warning: Image at index 5498 has no bounding boxes. Skipping...
Warning: Image at index 1067 has no bounding boxes. Skipping...
Warning: Image at index 7956 has no bounding boxes. Skipping...Warning: Image at index 5419 has no bounding boxes. Skipping...Warning: Image at index 5933 has no bounding boxes. Skipping...
Warning: Image at index 133 has no bounding boxes. Skipping...Warning: Image at index 7076 has no bounding boxes. Skipping...
Warning: Image at index 4626 has no bounding boxes. Skipping...
Warning: Image at index 1608 has no bounding boxes. Skipping...
Warning: Image at index 421 has no bounding boxes. Skipping...
Warning: Image at index 526 has no bounding boxes. Skipping...Warning: Image at index 3383 has no bounding boxes. Skipping...
Warning: Image at index 6752 has no bounding boxes. Skipping...Warning: Image at index 2189 has no bounding boxes. Skipping...
Warning: Image at index 2902 has no bounding boxes. Skipping...
Warning: Image at index 4550 has no bounding boxes. Skipping...Warning: Image at index 1532 has no bounding boxes. Skipping...
Warning: Image at index 7636 has no bounding boxes. Skipping...
Warning: Image at index 4649 has no bounding boxes. Skipping...Warning: Image at index 4899 has no bounding boxes. Skipping...
Warning: Image at index 5666 has no bounding boxes. Skipping...Warning: Image at index 4256 has no bounding boxes. Skipping...
Warning: Image at index 5209 has no bounding boxes. Skipping...Warning: Image at index 1473 has no bounding boxes. Skipping...Warning: Image at index 1119 has no bounding boxes. Skipping...
Warning: Image at index 4448 has no bounding boxes. Skipping...
Warning: Image at index 7253 has no bounding boxes. Skipping...Warning: Image at index 6952 has no bounding boxes. Skipping...
Warning: Image at index 3891 has no bounding boxes. Skipping...Warning: Image at index 4694 has no bounding boxes. Skipping...
Warning: Image at index 876 has no bounding boxes. Skipping...
Warning: Image at index 1455 has no bounding boxes. Skipping...Warning: Image at index 3635 has no bounding boxes. Skipping...
Warning: Image at index 184 has no bounding boxes. Skipping...Warning: Image at index 312 has no bounding boxes. Skipping...
Warning: Image at index 6803 has no bounding boxes. Skipping...Warning: Image at index 5675 has no bounding boxes. Skipping...Warning: Image at index 482 has no bounding boxes. Skipping...
Warning: Image at index 5954 has no bounding boxes. Skipping...
Warning: Image at index 7038 has no bounding boxes. Skipping...
Warning: Image at index 3413 has no bounding boxes. Skipping...Warning: Image at index 2827 has no bounding boxes. Skipping...
Warning: Image at index 2603 has no bounding boxes. Skipping...Warning: Image at index 3551 has no bounding boxes. Skipping...
Warning: Image at index 7691 has no bounding boxes. Skipping...
Warning: Image at index 3378 has no bounding boxes. Skipping...
Warning: Image at index 7704 has no bounding boxes. Skipping...
Warning: Image at index 3327 has no bounding boxes. Skipping...
Warning: Image at index 1579 has no bounding boxes. Skipping...
Warning: Image at index 714 has no bounding boxes. Skipping...
Warning: Image at index 5228 has no bounding boxes. Skipping...Warning: Image at index 7472 has no bounding boxes. Skipping...
Warning: Image at index 3592 has no bounding boxes. Skipping...
Warning: Image at index 6159 has no bounding boxes. Skipping...
Warning: Image at index 6045 has no bounding boxes. Skipping...Warning: Image at index 6293 has no bounding boxes. Skipping...
Warning: Image at index 4567 has no bounding boxes. Skipping...
Warning: Image at index 7497 has no bounding boxes. Skipping...
Warning: Image at index 433 has no bounding boxes. Skipping...Warning: Image at index 4999 has no bounding boxes. Skipping...Warning: Image at index 3497 has no bounding boxes. Skipping...
Warning: Image at index 6128 has no bounding boxes. Skipping...
Warning: Image at index 3274 has no bounding boxes. Skipping...Warning: Image at index 8059 has no bounding boxes. Skipping...
Warning: Image at index 6242 has no bounding boxes. Skipping...
Warning: Image at index 3730 has no bounding boxes. Skipping...Warning: Image at index 95 has no bounding boxes. Skipping...
Warning: Image at index 7888 has no bounding boxes. Skipping...
Warning: Image at index 2126 has no bounding boxes. Skipping...
Warning: Image at index 5547 has no bounding boxes. Skipping...
Warning: Image at index 279 has no bounding boxes. Skipping...
Warning: Image at index 2272 has no bounding boxes. Skipping...
Warning: Image at index 3200 has no bounding boxes. Skipping...
Warning: Image at index 2476 has no bounding boxes. Skipping...
Warning: Image at index 3550 has no bounding boxes. Skipping...Warning: Image at index 3320 has no bounding boxes. Skipping...
Warning: Image at index 3776 has no bounding boxes. Skipping...
Warning: Image at index 6289 has no bounding boxes. Skipping...
Warning: Image at index 2628 has no bounding boxes. Skipping...Warning: Image at index 5133 has no bounding boxes. Skipping...
Warning: Image at index 2264 has no bounding boxes. Skipping...
Warning: Image at index 5050 has no bounding boxes. Skipping...Warning: Image at index 1654 has no bounding boxes. Skipping...
Warning: Image at index 794 has no bounding boxes. Skipping...
Warning: Image at index 1253 has no bounding boxes. Skipping...Warning: Image at index 5596 has no bounding boxes. Skipping...
Warning: Image at index 1596 has no bounding boxes. Skipping...Warning: Image at index 2870 has no bounding boxes. Skipping...Warning: Image at index 419 has no bounding boxes. Skipping...
Warning: Image at index 4410 has no bounding boxes. Skipping...
Warning: Image at index 6676 has no bounding boxes. Skipping...
Warning: Image at index 3623 has no bounding boxes. Skipping...
Warning: Image at index 3085 has no bounding boxes. Skipping...Warning: Image at index 814 has no bounding boxes. Skipping...
Warning: Image at index 5922 has no bounding boxes. Skipping...
Warning: Image at index 1183 has no bounding boxes. Skipping...Warning: Image at index 412 has no bounding boxes. Skipping...
Warning: Image at index 2543 has no bounding boxes. Skipping...Warning: Image at index 5927 has no bounding boxes. Skipping...
Warning: Image at index 601 has no bounding boxes. Skipping...Warning: Image at index 8066 has no bounding boxes. Skipping...Warning: Image at index 587 has no bounding boxes. Skipping...
Warning: Image at index 7421 has no bounding boxes. Skipping...
Warning: Image at index 8100 has no bounding boxes. Skipping...Warning: Image at index 7361 has no bounding boxes. Skipping...
Warning: Image at index 6382 has no bounding boxes. Skipping...Warning: Image at index 3328 has no bounding boxes. Skipping...
Warning: Image at index 6341 has no bounding boxes. Skipping...
Warning: Image at index 6210 has no bounding boxes. Skipping...
Warning: Image at index 3464 has no bounding boxes. Skipping...Warning: Image at index 5312 has no bounding boxes. Skipping...
Warning: Image at index 6850 has no bounding boxes. Skipping...
Warning: Image at index 5422 has no bounding boxes. Skipping...
Warning: Image at index 4757 has no bounding boxes. Skipping...Warning: Image at index 6222 has no bounding boxes. Skipping...
Warning: Image at index 7032 has no bounding boxes. Skipping...Warning: Image at index 4897 has no bounding boxes. Skipping...
Warning: Image at index 3847 has no bounding boxes. Skipping...
Warning: Image at index 5444 has no bounding boxes. Skipping...
Warning: Image at index 2875 has no bounding boxes. Skipping...
Warning: Image at index 4197 has no bounding boxes. Skipping...
Warning: Image at index 8090 has no bounding boxes. Skipping...
Warning: Image at index 1318 has no bounding boxes. Skipping...Warning: Image at index 3922 has no bounding boxes. Skipping...
Warning: Image at index 13 has no bounding boxes. Skipping...
Warning: Image at index 2724 has no bounding boxes. Skipping...
Warning: Image at index 7813 has no bounding boxes. Skipping...Warning: Image at index 4595 has no bounding boxes. Skipping...
Warning: Image at index 8 has no bounding boxes. Skipping...
Warning: Image at index 270 has no bounding boxes. Skipping...Warning: Image at index 2405 has no bounding boxes. Skipping...
Warning: Image at index 1587 has no bounding boxes. Skipping...
Warning: Image at index 5122 has no bounding boxes. Skipping...Warning: Image at index 1789 has no bounding boxes. Skipping...
Warning: Image at index 287 has no bounding boxes. Skipping...
Warning: Image at index 4476 has no bounding boxes. Skipping...Warning: Image at index 5891 has no bounding boxes. Skipping...
Warning: Image at index 666 has no bounding boxes. Skipping...
Warning: Image at index 4006 has no bounding boxes. Skipping...Warning: Image at index 976 has no bounding boxes. Skipping...Warning: Image at index 30 has no bounding boxes. Skipping...
Warning: Image at index 6638 has no bounding boxes. Skipping...
Warning: Image at index 5437 has no bounding boxes. Skipping...
Warning: Image at index 1974 has no bounding boxes. Skipping...
Warning: Image at index 1228 has no bounding boxes. Skipping...
Warning: Image at index 4363 has no bounding boxes. Skipping...
Warning: Image at index 7697 has no bounding boxes. Skipping...Warning: Image at index 5982 has no bounding boxes. Skipping...
Warning: Image at index 2725 has no bounding boxes. Skipping...
Warning: Image at index 7236 has no bounding boxes. Skipping...
Warning: Image at index 346 has no bounding boxes. Skipping...
Warning: Image at index 1860 has no bounding boxes. Skipping...Warning: Image at index 6992 has no bounding boxes. Skipping...Warning: Image at index 3633 has no bounding boxes. Skipping...
Warning: Image at index 3364 has no bounding boxes. Skipping...
Warning: Image at index 5095 has no bounding boxes. Skipping...
Warning: Image at index 7021 has no bounding boxes. Skipping...Warning: Image at index 3098 has no bounding boxes. Skipping...
Warning: Image at index 5304 has no bounding boxes. Skipping...
Warning: Image at index 6460 has no bounding boxes. Skipping...
Warning: Image at index 5322 has no bounding boxes. Skipping...
Warning: Image at index 8232 has no bounding boxes. Skipping...
Warning: Image at index 3750 has no bounding boxes. Skipping...
Warning: Image at index 4784 has no bounding boxes. Skipping...Warning: Image at index 4808 has no bounding boxes. Skipping...
Warning: Image at index 671 has no bounding boxes. Skipping...Warning: Image at index 5237 has no bounding boxes. Skipping...Warning: Image at index 6453 has no bounding boxes. Skipping...
Warning: Image at index 3671 has no bounding boxes. Skipping...
Warning: Image at index 7574 has no bounding boxes. Skipping...Warning: Image at index 4942 has no bounding boxes. Skipping...
Warning: Image at index 6023 has no bounding boxes. Skipping...Warning: Image at index 6931 has no bounding boxes. Skipping...Warning: Image at index 6939 has no bounding boxes. Skipping...
Warning: Image at index 1688 has no bounding boxes. Skipping...
Warning: Image at index 5256 has no bounding boxes. Skipping...Warning: Image at index 4457 has no bounding boxes. Skipping...Warning: Image at index 4471 has no bounding boxes. Skipping...
Warning: Image at index 1680 has no bounding boxes. Skipping...Warning: Image at index 4302 has no bounding boxes. Skipping...
Warning: Image at index 2 has no bounding boxes. Skipping...
Warning: Image at index 3617 has no bounding boxes. Skipping...
Warning: Image at index 2413 has no bounding boxes. Skipping...
Warning: Image at index 6263 has no bounding boxes. Skipping...Warning: Image at index 7357 has no bounding boxes. Skipping...
Warning: Image at index 7418 has no bounding boxes. Skipping...
Warning: Image at index 7644 has no bounding boxes. Skipping...
Warning: Image at index 3589 has no bounding boxes. Skipping...Warning: Image at index 4483 has no bounding boxes. Skipping...
Warning: Image at index 1707 has no bounding boxes. Skipping...
Warning: Image at index 741 has no bounding boxes. Skipping...
Warning: Image at index 3300 has no bounding boxes. Skipping...
Warning: Image at index 3659 has no bounding boxes. Skipping...
Warning: Image at index 5403 has no bounding boxes. Skipping...
Warning: Image at index 7578 has no bounding boxes. Skipping...
Warning: Image at index 6461 has no bounding boxes. Skipping...Warning: Image at index 2985 has no bounding boxes. Skipping...
Warning: Image at index 984 has no bounding boxes. Skipping...
Warning: Image at index 2861 has no bounding boxes. Skipping...Warning: Image at index 484 has no bounding boxes. Skipping...Warning: Image at index 5234 has no bounding boxes. Skipping...
Warning: Image at index 5600 has no bounding boxes. Skipping...
Warning: Image at index 6999 has no bounding boxes. Skipping...Warning: Image at index 6795 has no bounding boxes. Skipping...
Warning: Image at index 7397 has no bounding boxes. Skipping...
Warning: Image at index 7097 has no bounding boxes. Skipping...
Warning: Image at index 6185 has no bounding boxes. Skipping...
Warning: Image at index 1214 has no bounding boxes. Skipping...Warning: Image at index 1650 has no bounding boxes. Skipping...
Warning: Image at index 3381 has no bounding boxes. Skipping...
Warning: Image at index 3992 has no bounding boxes. Skipping...
Warning: Image at index 1597 has no bounding boxes. Skipping...Warning: Image at index 7597 has no bounding boxes. Skipping...
Warning: Image at index 7385 has no bounding boxes. Skipping...
Warning: Image at index 450 has no bounding boxes. Skipping...
Warning: Image at index 4985 has no bounding boxes. Skipping...Warning: Image at index 6544 has no bounding boxes. Skipping...
Warning: Image at index 5129 has no bounding boxes. Skipping...Warning: Image at index 145 has no bounding boxes. Skipping...
Warning: Image at index 86 has no bounding boxes. Skipping...Warning: Image at index 5004 has no bounding boxes. Skipping...
Warning: Image at index 4409 has no bounding boxes. Skipping...
Warning: Image at index 8228 has no bounding boxes. Skipping...Warning: Image at index 4355 has no bounding boxes. Skipping...
Warning: Image at index 5326 has no bounding boxes. Skipping...
Warning: Image at index 499 has no bounding boxes. Skipping...
Warning: Image at index 970 has no bounding boxes. Skipping...Warning: Image at index 6745 has no bounding boxes. Skipping...
Warning: Image at index 1016 has no bounding boxes. Skipping...Warning: Image at index 177 has no bounding boxes. Skipping...
Warning: Image at index 772 has no bounding boxes. Skipping...
Warning: Image at index 446 has no bounding boxes. Skipping...Warning: Image at index 3916 has no bounding boxes. Skipping...Warning: Image at index 6815 has no bounding boxes. Skipping...
Warning: Image at index 5773 has no bounding boxes. Skipping...Warning: Image at index 7894 has no bounding boxes. Skipping...
Warning: Image at index 5815 has no bounding boxes. Skipping...Warning: Image at index 2509 has no bounding boxes. Skipping...
Warning: Image at index 2972 has no bounding boxes. Skipping...Warning: Image at index 3482 has no bounding boxes. Skipping...Warning: Image at index 745 has no bounding boxes. Skipping...Warning: Image at index 3144 has no bounding boxes. Skipping...
Warning: Image at index 5099 has no bounding boxes. Skipping...
Warning: Image at index 7836 has no bounding boxes. Skipping...Warning: Image at index 7797 has no bounding boxes. Skipping...Warning: Image at index 5329 has no bounding boxes. Skipping...
Warning: Image at index 1429 has no bounding boxes. Skipping...
Warning: Image at index 1321 has no bounding boxes. Skipping...Warning: Image at index 1285 has no bounding boxes. Skipping...
Warning: Image at index 1849 has no bounding boxes. Skipping...Warning: Image at index 1071 has no bounding boxes. Skipping...
Warning: Image at index 4799 has no bounding boxes. Skipping...
Warning: Image at index 2290 has no bounding boxes. Skipping...Warning: Image at index 2821 has no bounding boxes. Skipping...
Warning: Image at index 8220 has no bounding boxes. Skipping...Warning: Image at index 2180 has no bounding boxes. Skipping...
Warning: Image at index 5177 has no bounding boxes. Skipping...
Warning: Image at index 3044 has no bounding boxes. Skipping...
Warning: Image at index 4179 has no bounding boxes. Skipping...Warning: Image at index 6844 has no bounding boxes. Skipping...
Warning: Image at index 5162 has no bounding boxes. Skipping...
Warning: Image at index 6714 has no bounding boxes. Skipping...
Warning: Image at index 6629 has no bounding boxes. Skipping...
Warning: Image at index 6633 has no bounding boxes. Skipping...Warning: Image at index 4574 has no bounding boxes. Skipping...Warning: Image at index 6276 has no bounding boxes. Skipping...
Warning: Image at index 4493 has no bounding boxes. Skipping...
Warning: Image at index 911 has no bounding boxes. Skipping...
Warning: Image at index 3031 has no bounding boxes. Skipping...Warning: Image at index 3952 has no bounding boxes. Skipping...
Warning: Image at index 7249 has no bounding boxes. Skipping...Warning: Image at index 5642 has no bounding boxes. Skipping...
Warning: Image at index 4447 has no bounding boxes. Skipping...
Warning: Image at index 4823 has no bounding boxes. Skipping...
Warning: Image at index 631 has no bounding boxes. Skipping...
Warning: Image at index 5493 has no bounding boxes. Skipping...Warning: Image at index 4007 has no bounding boxes. Skipping...
Warning: Image at index 7373 has no bounding boxes. Skipping...
Warning: Image at index 4527 has no bounding boxes. Skipping...Warning: Image at index 5012 has no bounding boxes. Skipping...
Warning: Image at index 1250 has no bounding boxes. Skipping...
Warning: Image at index 1430 has no bounding boxes. Skipping...Warning: Image at index 7223 has no bounding boxes. Skipping...
Warning: Image at index 3724 has no bounding boxes. Skipping...
Warning: Image at index 6655 has no bounding boxes. Skipping...
Warning: Image at index 8115 has no bounding boxes. Skipping...
Warning: Image at index 4052 has no bounding boxes. Skipping...Warning: Image at index 7024 has no bounding boxes. Skipping...
Warning: Image at index 1928 has no bounding boxes. Skipping...Warning: Image at index 2751 has no bounding boxes. Skipping...
Warning: Image at index 6909 has no bounding boxes. Skipping...Warning: Image at index 7662 has no bounding boxes. Skipping...
Warning: Image at index 5758 has no bounding boxes. Skipping...Warning: Image at index 8179 has no bounding boxes. Skipping...
Warning: Image at index 4044 has no bounding boxes. Skipping...Warning: Image at index 406 has no bounding boxes. Skipping...
Warning: Image at index 2540 has no bounding boxes. Skipping...Warning: Image at index 3311 has no bounding boxes. Skipping...Warning: Image at index 5366 has no bounding boxes. Skipping...
Warning: Image at index 4464 has no bounding boxes. Skipping...
Warning: Image at index 4961 has no bounding boxes. Skipping...
Warning: Image at index 4460 has no bounding boxes. Skipping...
Warning: Image at index 1280 has no bounding boxes. Skipping...Warning: Image at index 5717 has no bounding boxes. Skipping...
Warning: Image at index 6860 has no bounding boxes. Skipping...Warning: Image at index 7851 has no bounding boxes. Skipping...
Warning: Image at index 5976 has no bounding boxes. Skipping...
Warning: Image at index 4992 has no bounding boxes. Skipping...
Warning: Image at index 4952 has no bounding boxes. Skipping...Warning: Image at index 4912 has no bounding boxes. Skipping...
Warning: Image at index 649 has no bounding boxes. Skipping...Warning: Image at index 5892 has no bounding boxes. Skipping...
Warning: Image at index 7453 has no bounding boxes. Skipping...Warning: Image at index 4652 has no bounding boxes. Skipping...Warning: Image at index 8176 has no bounding boxes. Skipping...
Warning: Image at index 7332 has no bounding boxes. Skipping...Warning: Image at index 3970 has no bounding boxes. Skipping...
Warning: Image at index 1611 has no bounding boxes. Skipping...
Warning: Image at index 2842 has no bounding boxes. Skipping...
Warning: Image at index 6306 has no bounding boxes. Skipping...
Warning: Image at index 7827 has no bounding boxes. Skipping...
Warning: Image at index 44 has no bounding boxes. Skipping...
Warning: Image at index 3777 has no bounding boxes. Skipping...
Warning: Image at index 738 has no bounding boxes. Skipping...
Warning: Image at index 3864 has no bounding boxes. Skipping...
Warning: Image at index 3389 has no bounding boxes. Skipping...Warning: Image at index 5191 has no bounding boxes. Skipping...
Warning: Image at index 2204 has no bounding boxes. Skipping...
Warning: Image at index 2188 has no bounding boxes. Skipping...
Warning: Image at index 6333 has no bounding boxes. Skipping...
Warning: Image at index 6804 has no bounding boxes. Skipping...Warning: Image at index 6908 has no bounding boxes. Skipping...
Warning: Image at index 5789 has no bounding boxes. Skipping...Warning: Image at index 3626 has no bounding boxes. Skipping...
Warning: Image at index 3595 has no bounding boxes. Skipping...Warning: Image at index 2115 has no bounding boxes. Skipping...
Warning: Image at index 4242 has no bounding boxes. Skipping...Warning: Image at index 7795 has no bounding boxes. Skipping...Warning: Image at index 7276 has no bounding boxes. Skipping...
Warning: Image at index 3270 has no bounding boxes. Skipping...
Warning: Image at index 8182 has no bounding boxes. Skipping...Warning: Image at index 7702 has no bounding boxes. Skipping...
Warning: Image at index 1740 has no bounding boxes. Skipping...
Warning: Image at index 5181 has no bounding boxes. Skipping...
Warning: Image at index 1375 has no bounding boxes. Skipping...
Warning: Image at index 3733 has no bounding boxes. Skipping...
Warning: Image at index 343 has no bounding boxes. Skipping...
Warning: Image at index 5165 has no bounding boxes. Skipping...Warning: Image at index 5800 has no bounding boxes. Skipping...
Warning: Image at index 237 has no bounding boxes. Skipping...
Warning: Image at index 1975 has no bounding boxes. Skipping...
Warning: Image at index 26 has no bounding boxes. Skipping...
Warning: Image at index 6371 has no bounding boxes. Skipping...Warning: Image at index 6094 has no bounding boxes. Skipping...
Warning: Image at index 3398 has no bounding boxes. Skipping...Warning: Image at index 1009 has no bounding boxes. Skipping...
Warning: Image at index 681 has no bounding boxes. Skipping...
Warning: Image at index 3223 has no bounding boxes. Skipping...
Warning: Image at index 265 has no bounding boxes. Skipping...Warning: Image at index 5460 has no bounding boxes. Skipping...
Warning: Image at index 1814 has no bounding boxes. Skipping...
Warning: Image at index 2239 has no bounding boxes. Skipping...Warning: Image at index 8186 has no bounding boxes. Skipping...
Warning: Image at index 7541 has no bounding boxes. Skipping...
Warning: Image at index 1471 has no bounding boxes. Skipping...Warning: Image at index 3239 has no bounding boxes. Skipping...
Warning: Image at index 7559 has no bounding boxes. Skipping...
Warning: Image at index 5576 has no bounding boxes. Skipping...Warning: Image at index 1698 has no bounding boxes. Skipping...
Warning: Image at index 617 has no bounding boxes. Skipping...Warning: Image at index 6774 has no bounding boxes. Skipping...Warning: Image at index 1810 has no bounding boxes. Skipping...
Warning: Image at index 5023 has no bounding boxes. Skipping...Warning: Image at index 4810 has no bounding boxes. Skipping...
Warning: Image at index 3641 has no bounding boxes. Skipping...
Warning: Image at index 5929 has no bounding boxes. Skipping...Warning: Image at index 4691 has no bounding boxes. Skipping...
Warning: Image at index 1490 has no bounding boxes. Skipping...
Warning: Image at index 3639 has no bounding boxes. Skipping...
Warning: Image at index 664 has no bounding boxes. Skipping...Warning: Image at index 2587 has no bounding boxes. Skipping...
Warning: Image at index 6331 has no bounding boxes. Skipping...Warning: Image at index 7059 has no bounding boxes. Skipping...
Warning: Image at index 5912 has no bounding boxes. Skipping...
Warning: Image at index 5963 has no bounding boxes. Skipping...
Warning: Image at index 2113 has no bounding boxes. Skipping...
Warning: Image at index 2046 has no bounding boxes. Skipping...Warning: Image at index 3323 has no bounding boxes. Skipping...Warning: Image at index 3313 has no bounding boxes. Skipping...
Warning: Image at index 3189 has no bounding boxes. Skipping...Warning: Image at index 6385 has no bounding boxes. Skipping...Warning: Image at index 2527 has no bounding boxes. Skipping...
Warning: Image at index 5389 has no bounding boxes. Skipping...Warning: Image at index 6048 has no bounding boxes. Skipping...
Warning: Image at index 5795 has no bounding boxes. Skipping...Warning: Image at index 3143 has no bounding boxes. Skipping...
Warning: Image at index 2846 has no bounding boxes. Skipping...
Warning: Image at index 1015 has no bounding boxes. Skipping...Warning: Image at index 3797 has no bounding boxes. Skipping...
Warning: Image at index 7655 has no bounding boxes. Skipping...
Warning: Image at index 4160 has no bounding boxes. Skipping...
Warning: Image at index 7678 has no bounding boxes. Skipping...Warning: Image at index 4398 has no bounding boxes. Skipping...
Warning: Image at index 2775 has no bounding boxes. Skipping...
Warning: Image at index 5910 has no bounding boxes. Skipping...
Warning: Image at index 4097 has no bounding boxes. Skipping...Warning: Image at index 5016 has no bounding boxes. Skipping...
Warning: Image at index 4741 has no bounding boxes. Skipping...
Warning: Image at index 6173 has no bounding boxes. Skipping...
Warning: Image at index 7225 has no bounding boxes. Skipping...
Warning: Image at index 7995 has no bounding boxes. Skipping...
Warning: Image at index 6686 has no bounding boxes. Skipping...Warning: Image at index 2244 has no bounding boxes. Skipping...
Warning: Image at index 8091 has no bounding boxes. Skipping...
Warning: Image at index 1813 has no bounding boxes. Skipping...
Warning: Image at index 5464 has no bounding boxes. Skipping...Warning: Image at index 2826 has no bounding boxes. Skipping...
Warning: Image at index 2059 has no bounding boxes. Skipping...
Warning: Image at index 6255 has no bounding boxes. Skipping...
Warning: Image at index 7881 has no bounding boxes. Skipping...
Warning: Image at index 7603 has no bounding boxes. Skipping...Warning: Image at index 199 has no bounding boxes. Skipping...
Warning: Image at index 434 has no bounding boxes. Skipping...
Warning: Image at index 5334 has no bounding boxes. Skipping...Warning: Image at index 6658 has no bounding boxes. Skipping...
Warning: Image at index 4250 has no bounding boxes. Skipping...
Warning: Image at index 5439 has no bounding boxes. Skipping...
Warning: Image at index 6108 has no bounding boxes. Skipping...Warning: Image at index 2271 has no bounding boxes. Skipping...Warning: Image at index 1290 has no bounding boxes. Skipping...
Warning: Image at index 4587 has no bounding boxes. Skipping...
Warning: Image at index 4625 has no bounding boxes. Skipping...
Warning: Image at index 7359 has no bounding boxes. Skipping...
Warning: Image at index 1468 has no bounding boxes. Skipping...Warning: Image at index 2728 has no bounding boxes. Skipping...
Warning: Image at index 5397 has no bounding boxes. Skipping...Warning: Image at index 1658 has no bounding boxes. Skipping...
Warning: Image at index 3011 has no bounding boxes. Skipping...Warning: Image at index 6050 has no bounding boxes. Skipping...
Warning: Image at index 6296 has no bounding boxes. Skipping...
Warning: Image at index 5542 has no bounding boxes. Skipping...Warning: Image at index 1753 has no bounding boxes. Skipping...
Warning: Image at index 7120 has no bounding boxes. Skipping...Warning: Image at index 8072 has no bounding boxes. Skipping...
Warning: Image at index 437 has no bounding boxes. Skipping...Warning: Image at index 8107 has no bounding boxes. Skipping...
Warning: Image at index 6897 has no bounding boxes. Skipping...Warning: Image at index 7983 has no bounding boxes. Skipping...
Warning: Image at index 1103 has no bounding boxes. Skipping...
Warning: Image at index 5654 has no bounding boxes. Skipping...
Warning: Image at index 5426 has no bounding boxes. Skipping...Warning: Image at index 5102 has no bounding boxes. Skipping...
Warning: Image at index 6739 has no bounding boxes. Skipping...
Warning: Image at index 544 has no bounding boxes. Skipping...Warning: Image at index 2645 has no bounding boxes. Skipping...
Warning: Image at index 1365 has no bounding boxes. Skipping...
Warning: Image at index 4129 has no bounding boxes. Skipping...Warning: Image at index 7790 has no bounding boxes. Skipping...Warning: Image at index 4888 has no bounding boxes. Skipping...
Warning: Image at index 8086 has no bounding boxes. Skipping...
Warning: Image at index 6145 has no bounding boxes. Skipping...
Warning: Image at index 1110 has no bounding boxes. Skipping...Warning: Image at index 5742 has no bounding boxes. Skipping...
Warning: Image at index 1324 has no bounding boxes. Skipping...
Warning: Image at index 7609 has no bounding boxes. Skipping...
Warning: Image at index 261 has no bounding boxes. Skipping...Warning: Image at index 444 has no bounding boxes. Skipping...
Warning: Image at index 7629 has no bounding boxes. Skipping...
Warning: Image at index 3986 has no bounding boxes. Skipping...Warning: Image at index 1356 has no bounding boxes. Skipping...
Warning: Image at index 4780 has no bounding boxes. Skipping...
Warning: Image at index 3040 has no bounding boxes. Skipping...Warning: Image at index 6922 has no bounding boxes. Skipping...
Warning: Image at index 6877 has no bounding boxes. Skipping...Warning: Image at index 4751 has no bounding boxes. Skipping...
Warning: Image at index 5585 has no bounding boxes. Skipping...
Warning: Image at index 3885 has no bounding boxes. Skipping...Warning: Image at index 1856 has no bounding boxes. Skipping...
Warning: Image at index 5651 has no bounding boxes. Skipping...
Warning: Image at index 7040 has no bounding boxes. Skipping...
Warning: Image at index 3130 has no bounding boxes. Skipping...
Warning: Image at index 8045 has no bounding boxes. Skipping...Warning: Image at index 5490 has no bounding boxes. Skipping...
Warning: Image at index 3100 has no bounding boxes. Skipping...
Warning: Image at index 2398 has no bounding boxes. Skipping...
Warning: Image at index 2944 has no bounding boxes. Skipping...
Warning: Image at index 1156 has no bounding boxes. Skipping...
Warning: Image at index 3289 has no bounding boxes. Skipping...
Warning: Image at index 7348 has no bounding boxes. Skipping...
Warning: Image at index 3967 has no bounding boxes. Skipping...
Warning: Image at index 670 has no bounding boxes. Skipping...
Warning: Image at index 4604 has no bounding boxes. Skipping...
Warning: Image at index 4043 has no bounding boxes. Skipping...
Warning: Image at index 7436 has no bounding boxes. Skipping...
Warning: Image at index 4659 has no bounding boxes. Skipping...
Warning: Image at index 1470 has no bounding boxes. Skipping...
Warning: Image at index 4479 has no bounding boxes. Skipping...
Warning: Image at index 4968 has no bounding boxes. Skipping...Warning: Image at index 6767 has no bounding boxes. Skipping...
Warning: Image at index 6193 has no bounding boxes. Skipping...Warning: Image at index 4582 has no bounding boxes. Skipping...
Warning: Image at index 350 has no bounding boxes. Skipping...
Warning: Image at index 2494 has no bounding boxes. Skipping...
Warning: Image at index 2903 has no bounding boxes. Skipping...Warning: Image at index 3479 has no bounding boxes. Skipping...
Warning: Image at index 6506 has no bounding boxes. Skipping...Warning: Image at index 3417 has no bounding boxes. Skipping...
Warning: Image at index 5513 has no bounding boxes. Skipping...
Warning: Image at index 1516 has no bounding boxes. Skipping...
Warning: Image at index 6861 has no bounding boxes. Skipping...
Warning: Image at index 2003 has no bounding boxes. Skipping...Warning: Image at index 7445 has no bounding boxes. Skipping...Warning: Image at index 6307 has no bounding boxes. Skipping...
Warning: Image at index 424 has no bounding boxes. Skipping...
Warning: Image at index 5046 has no bounding boxes. Skipping...Warning: Image at index 1112 has no bounding boxes. Skipping...
Warning: Image at index 2057 has no bounding boxes. Skipping...
Warning: Image at index 5186 has no bounding boxes. Skipping...Warning: Image at index 7833 has no bounding boxes. Skipping...
Warning: Image at index 3227 has no bounding boxes. Skipping...
Warning: Image at index 5845 has no bounding boxes. Skipping...
Warning: Image at index 2294 has no bounding boxes. Skipping...Warning: Image at index 5005 has no bounding boxes. Skipping...
Warning: Image at index 5217 has no bounding boxes. Skipping...
Warning: Image at index 8258 has no bounding boxes. Skipping...Warning: Image at index 4827 has no bounding boxes. Skipping...
Warning: Image at index 903 has no bounding boxes. Skipping...
Warning: Image at index 2819 has no bounding boxes. Skipping...
Warning: Image at index 1104 has no bounding boxes. Skipping...
Warning: Image at index 2323 has no bounding boxes. Skipping...
Warning: Image at index 7996 has no bounding boxes. Skipping...Warning: Image at index 5369 has no bounding boxes. Skipping...Warning: Image at index 2803 has no bounding boxes. Skipping...
Warning: Image at index 7457 has no bounding boxes. Skipping...Warning: Image at index 1126 has no bounding boxes. Skipping...Warning: Image at index 4417 has no bounding boxes. Skipping...
Warning: Image at index 3666 has no bounding boxes. Skipping...
Warning: Image at index 4667 has no bounding boxes. Skipping...
Warning: Image at index 4454 has no bounding boxes. Skipping...Warning: Image at index 4034 has no bounding boxes. Skipping...
Warning: Image at index 1019 has no bounding boxes. Skipping...Warning: Image at index 2028 has no bounding boxes. Skipping...
Warning: Image at index 1774 has no bounding boxes. Skipping...
Warning: Image at index 8029 has no bounding boxes. Skipping...Warning: Image at index 7731 has no bounding boxes. Skipping...Warning: Image at index 3846 has no bounding boxes. Skipping...
Warning: Image at index 1249 has no bounding boxes. Skipping...Warning: Image at index 4137 has no bounding boxes. Skipping...
Warning: Image at index 68 has no bounding boxes. Skipping...
Warning: Image at index 2462 has no bounding boxes. Skipping...Warning: Image at index 6777 has no bounding boxes. Skipping...
Warning: Image at index 48 has no bounding boxes. Skipping...
Warning: Image at index 2064 has no bounding boxes. Skipping...Warning: Image at index 1956 has no bounding boxes. Skipping...
Warning: Image at index 3333 has no bounding boxes. Skipping...
Warning: Image at index 4529 has no bounding boxes. Skipping...
Warning: Image at index 2680 has no bounding boxes. Skipping...Warning: Image at index 1472 has no bounding boxes. Skipping...
Warning: Image at index 4840 has no bounding boxes. Skipping...Warning: Image at index 4491 has no bounding boxes. Skipping...
Warning: Image at index 6698 has no bounding boxes. Skipping...
Warning: Image at index 635 has no bounding boxes. Skipping...
Warning: Image at index 5860 has no bounding boxes. Skipping...
Warning: Image at index 934 has no bounding boxes. Skipping...
Warning: Image at index 6823 has no bounding boxes. Skipping...
Warning: Image at index 1646 has no bounding boxes. Skipping...
Warning: Image at index 3197 has no bounding boxes. Skipping...Warning: Image at index 3741 has no bounding boxes. Skipping...Warning: Image at index 6809 has no bounding boxes. Skipping...
Warning: Image at index 442 has no bounding boxes. Skipping...
Warning: Image at index 5289 has no bounding boxes. Skipping...Warning: Image at index 7492 has no bounding boxes. Skipping...Warning: Image at index 686 has no bounding boxes. Skipping...
Warning: Image at index 7900 has no bounding boxes. Skipping...Warning: Image at index 7715 has no bounding boxes. Skipping...
Warning: Image at index 1537 has no bounding boxes. Skipping...
Warning: Image at index 7382 has no bounding boxes. Skipping...
Warning: Image at index 2713 has no bounding boxes. Skipping...
Warning: Image at index 1200 has no bounding boxes. Skipping...
Warning: Image at index 4895 has no bounding boxes. Skipping...Warning: Image at index 6510 has no bounding boxes. Skipping...
Warning: Image at index 4646 has no bounding boxes. Skipping...
Warning: Image at index 2556 has no bounding boxes. Skipping...
Warning: Image at index 1953 has no bounding boxes. Skipping...Warning: Image at index 4255 has no bounding boxes. Skipping...
Warning: Image at index 5950 has no bounding boxes. Skipping...
Warning: Image at index 4184 has no bounding boxes. Skipping...
Warning: Image at index 3409 has no bounding boxes. Skipping...
Warning: Image at index 5077 has no bounding boxes. Skipping...
Warning: Image at index 7089 has no bounding boxes. Skipping...Warning: Image at index 4089 has no bounding boxes. Skipping...
Warning: Image at index 7889 has no bounding boxes. Skipping...
Warning: Image at index 5990 has no bounding boxes. Skipping...
Warning: Image at index 777 has no bounding boxes. Skipping...
Warning: Image at index 1907 has no bounding boxes. Skipping...
Warning: Image at index 174 has no bounding boxes. Skipping...Warning: Image at index 280 has no bounding boxes. Skipping...
Warning: Image at index 5685 has no bounding boxes. Skipping...
Warning: Image at index 957 has no bounding boxes. Skipping...
Warning: Image at index 2566 has no bounding boxes. Skipping...
Warning: Image at index 1134 has no bounding boxes. Skipping...
Warning: Image at index 4380 has no bounding boxes. Skipping...
Warning: Image at index 2487 has no bounding boxes. Skipping...Warning: Image at index 4425 has no bounding boxes. Skipping...
Warning: Image at index 1681 has no bounding boxes. Skipping...
Warning: Image at index 4156 has no bounding boxes. Skipping...
Warning: Image at index 2581 has no bounding boxes. Skipping...
Warning: Image at index 7732 has no bounding boxes. Skipping...Warning: Image at index 88 has no bounding boxes. Skipping...
Warning: Image at index 5814 has no bounding boxes. Skipping...Warning: Image at index 1902 has no bounding boxes. Skipping...Warning: Image at index 4835 has no bounding boxes. Skipping...
Warning: Image at index 2807 has no bounding boxes. Skipping...Warning: Image at index 5250 has no bounding boxes. Skipping...
Warning: Image at index 2140 has no bounding boxes. Skipping...Warning: Image at index 5504 has no bounding boxes. Skipping...
Warning: Image at index 534 has no bounding boxes. Skipping...Warning: Image at index 6404 has no bounding boxes. Skipping...
Warning: Image at index 3758 has no bounding boxes. Skipping...
Warning: Image at index 2388 has no bounding boxes. Skipping...Warning: Image at index 572 has no bounding boxes. Skipping...
Warning: Image at index 4516 has no bounding boxes. Skipping...Warning: Image at index 5796 has no bounding boxes. Skipping...
Warning: Image at index 7282 has no bounding boxes. Skipping...
Warning: Image at index 2669 has no bounding boxes. Skipping...
Warning: Image at index 989 has no bounding boxes. Skipping...
Warning: Image at index 3612 has no bounding boxes. Skipping...Warning: Image at index 4692 has no bounding boxes. Skipping...Warning: Image at index 6846 has no bounding boxes. Skipping...
Warning: Image at index 2940 has no bounding boxes. Skipping...Warning: Image at index 3607 has no bounding boxes. Skipping...
Warning: Image at index 1799 has no bounding boxes. Skipping...
Warning: Image at index 4311 has no bounding boxes. Skipping...
Warning: Image at index 7729 has no bounding boxes. Skipping...Warning: Image at index 7868 has no bounding boxes. Skipping...
Warning: Image at index 7608 has no bounding boxes. Skipping...
Warning: Image at index 5458 has no bounding boxes. Skipping...
Warning: Image at index 6408 has no bounding boxes. Skipping...
Warning: Image at index 4121 has no bounding boxes. Skipping...
Warning: Image at index 1487 has no bounding boxes. Skipping...
Warning: Image at index 8243 has no bounding boxes. Skipping...Warning: Image at index 8080 has no bounding boxes. Skipping...
Warning: Image at index 5456 has no bounding boxes. Skipping...
Warning: Image at index 6726 has no bounding boxes. Skipping...Warning: Image at index 6170 has no bounding boxes. Skipping...
Warning: Image at index 200 has no bounding boxes. Skipping...
Warning: Image at index 4048 has no bounding boxes. Skipping...
Warning: Image at index 1344 has no bounding boxes. Skipping...
Warning: Image at index 7970 has no bounding boxes. Skipping...Warning: Image at index 3900 has no bounding boxes. Skipping...Warning: Image at index 867 has no bounding boxes. Skipping...
Warning: Image at index 341 has no bounding boxes. Skipping...
Warning: Image at index 3491 has no bounding boxes. Skipping...
Warning: Image at index 398 has no bounding boxes. Skipping...Warning: Image at index 4703 has no bounding boxes. Skipping...
Warning: Image at index 1349 has no bounding boxes. Skipping...
Warning: Image at index 6528 has no bounding boxes. Skipping...
Warning: Image at index 5132 has no bounding boxes. Skipping...Warning: Image at index 3458 has no bounding boxes. Skipping...
Warning: Image at index 5998 has no bounding boxes. Skipping...
Warning: Image at index 5935 has no bounding boxes. Skipping...
Warning: Image at index 6488 has no bounding boxes. Skipping...Warning: Image at index 3738 has no bounding boxes. Skipping...
Warning: Image at index 8104 has no bounding boxes. Skipping...
Warning: Image at index 5445 has no bounding boxes. Skipping...Warning: Image at index 276 has no bounding boxes. Skipping...
Warning: Image at index 1171 has no bounding boxes. Skipping...
Warning: Image at index 440 has no bounding boxes. Skipping...Warning: Image at index 2215 has no bounding boxes. Skipping...
Warning: Image at index 5327 has no bounding boxes. Skipping...
Warning: Image at index 7930 has no bounding boxes. Skipping...Warning: Image at index 6257 has no bounding boxes. Skipping...
Warning: Image at index 7822 has no bounding boxes. Skipping...
Warning: Image at index 6085 has no bounding boxes. Skipping...
Warning: Image at index 2789 has no bounding boxes. Skipping...
Warning: Image at index 6228 has no bounding boxes. Skipping...Warning: Image at index 2174 has no bounding boxes. Skipping...
Warning: Image at index 3948 has no bounding boxes. Skipping...Warning: Image at index 4645 has no bounding boxes. Skipping...
Warning: Image at index 135 has no bounding boxes. Skipping...
Warning: Image at index 5512 has no bounding boxes. Skipping...Warning: Image at index 3925 has no bounding boxes. Skipping...
Warning: Image at index 1229 has no bounding boxes. Skipping...Warning: Image at index 3649 has no bounding boxes. Skipping...
Warning: Image at index 7974 has no bounding boxes. Skipping...
Warning: Image at index 6660 has no bounding boxes. Skipping...Warning: Image at index 2143 has no bounding boxes. Skipping...
Warning: Image at index 8132 has no bounding boxes. Skipping...
Warning: Image at index 2882 has no bounding boxes. Skipping...
Warning: Image at index 3560 has no bounding boxes. Skipping...Warning: Image at index 1617 has no bounding boxes. Skipping...
Warning: Image at index 1556 has no bounding boxes. Skipping...
Warning: Image at index 5537 has no bounding boxes. Skipping...
Warning: Image at index 4303 has no bounding boxes. Skipping...Warning: Image at index 4785 has no bounding boxes. Skipping...
Warning: Image at index 1733 has no bounding boxes. Skipping...
Warning: Image at index 2030 has no bounding boxes. Skipping...
Warning: Image at index 4469 has no bounding boxes. Skipping...Warning: Image at index 2752 has no bounding boxes. Skipping...
Warning: Image at index 3047 has no bounding boxes. Skipping...
Warning: Image at index 4293 has no bounding boxes. Skipping...
Warning: Image at index 6751 has no bounding boxes. Skipping...
Warning: Image at index 4200 has no bounding boxes. Skipping...
Warning: Image at index 5664 has no bounding boxes. Skipping...Warning: Image at index 1989 has no bounding boxes. Skipping...
Warning: Image at index 718 has no bounding boxes. Skipping...
Warning: Image at index 3060 has no bounding boxes. Skipping...Warning: Image at index 2355 has no bounding boxes. Skipping...
Warning: Image at index 1162 has no bounding boxes. Skipping...
Warning: Image at index 4470 has no bounding boxes. Skipping...Warning: Image at index 5689 has no bounding boxes. Skipping...
Warning: Image at index 4474 has no bounding boxes. Skipping...
Warning: Image at index 6114 has no bounding boxes. Skipping...
Warning: Image at index 979 has no bounding boxes. Skipping...
Warning: Image at index 5667 has no bounding boxes. Skipping...
Warning: Image at index 5881 has no bounding boxes. Skipping...Warning: Image at index 7965 has no bounding boxes. Skipping...
Warning: Image at index 3603 has no bounding boxes. Skipping...Warning: Image at index 3827 has no bounding boxes. Skipping...Warning: Image at index 2710 has no bounding boxes. Skipping...
Warning: Image at index 4434 has no bounding boxes. Skipping...Warning: Image at index 2456 has no bounding boxes. Skipping...
Warning: Image at index 4870 has no bounding boxes. Skipping...
Warning: Image at index 7204 has no bounding boxes. Skipping...
Warning: Image at index 6411 has no bounding boxes. Skipping...Warning: Image at index 6947 has no bounding boxes. Skipping...
Warning: Image at index 4084 has no bounding boxes. Skipping...
Warning: Image at index 7505 has no bounding boxes. Skipping...Warning: Image at index 6327 has no bounding boxes. Skipping...
Warning: Image at index 619 has no bounding boxes. Skipping...
Warning: Image at index 6395 has no bounding boxes. Skipping...
Warning: Image at index 3969 has no bounding boxes. Skipping...Warning: Image at index 206 has no bounding boxes. Skipping...Warning: Image at index 7575 has no bounding boxes. Skipping...
Warning: Image at index 2508 has no bounding boxes. Skipping...Warning: Image at index 2914 has no bounding boxes. Skipping...
Warning: Image at index 3243 has no bounding boxes. Skipping...Warning: Image at index 1973 has no bounding boxes. Skipping...Warning: Image at index 72 has no bounding boxes. Skipping...
Warning: Image at index 143 has no bounding boxes. Skipping...
Warning: Image at index 7514 has no bounding boxes. Skipping...Warning: Image at index 3169 has no bounding boxes. Skipping...
Warning: Image at index 2279 has no bounding boxes. Skipping...Warning: Image at index 4234 has no bounding boxes. Skipping...
Warning: Image at index 5944 has no bounding boxes. Skipping...Warning: Image at index 2232 has no bounding boxes. Skipping...
Warning: Image at index 470 has no bounding boxes. Skipping...Warning: Image at index 2485 has no bounding boxes. Skipping...
Warning: Image at index 7003 has no bounding boxes. Skipping...Warning: Image at index 7573 has no bounding boxes. Skipping...
Warning: Image at index 524 has no bounding boxes. Skipping...
Warning: Image at index 4472 has no bounding boxes. Skipping...
Warning: Image at index 6024 has no bounding boxes. Skipping...
Warning: Image at index 4167 has no bounding boxes. Skipping...Warning: Image at index 3449 has no bounding boxes. Skipping...
Warning: Image at index 8171 has no bounding boxes. Skipping...
Warning: Image at index 6124 has no bounding boxes. Skipping...Warning: Image at index 8101 has no bounding boxes. Skipping...
Warning: Image at index 2419 has no bounding boxes. Skipping...
Warning: Image at index 4910 has no bounding boxes. Skipping...
Warning: Image at index 4603 has no bounding boxes. Skipping...Warning: Image at index 4852 has no bounding boxes. Skipping...
Warning: Image at index 7116 has no bounding boxes. Skipping...
Warning: Image at index 5655 has no bounding boxes. Skipping...
Warning: Image at index 5160 has no bounding boxes. Skipping...
Warning: Image at index 3574 has no bounding boxes. Skipping...
Warning: Image at index 1033 has no bounding boxes. Skipping...
Warning: Image at index 7020 has no bounding boxes. Skipping...
Warning: Image at index 1576 has no bounding boxes. Skipping...
Warning: Image at index 868 has no bounding boxes. Skipping...Warning: Image at index 5279 has no bounding boxes. Skipping...
Warning: Image at index 5536 has no bounding boxes. Skipping...
Warning: Image at index 1666 has no bounding boxes. Skipping...Warning: Image at index 8203 has no bounding boxes. Skipping...
Warning: Image at index 4120 has no bounding boxes. Skipping...
Warning: Image at index 4638 has no bounding boxes. Skipping...Warning: Image at index 2869 has no bounding boxes. Skipping...Warning: Image at index 2213 has no bounding boxes. Skipping...
Warning: Image at index 3379 has no bounding boxes. Skipping...
Warning: Image at index 637 has no bounding boxes. Skipping...Warning: Image at index 4166 has no bounding boxes. Skipping...Warning: Image at index 759 has no bounding boxes. Skipping...
Warning: Image at index 2777 has no bounding boxes. Skipping...
Warning: Image at index 3435 has no bounding boxes. Skipping...
Warning: Image at index 1105 has no bounding boxes. Skipping...Warning: Image at index 4068 has no bounding boxes. Skipping...Warning: Image at index 2170 has no bounding boxes. Skipping...
Warning: Image at index 1616 has no bounding boxes. Skipping...
Warning: Image at index 3068 has no bounding boxes. Skipping...
Warning: Image at index 3150 has no bounding boxes. Skipping...Warning: Image at index 7858 has no bounding boxes. Skipping...
Warning: Image at index 1642 has no bounding boxes. Skipping...
Warning: Image at index 5080 has no bounding boxes. Skipping...
Warning: Image at index 632 has no bounding boxes. Skipping...
Warning: Image at index 2601 has no bounding boxes. Skipping...
Warning: Image at index 4648 has no bounding boxes. Skipping...
Warning: Image at index 2607 has no bounding boxes. Skipping...
Warning: Image at index 4010 has no bounding boxes. Skipping...
Warning: Image at index 7430 has no bounding boxes. Skipping...
Warning: Image at index 6938 has no bounding boxes. Skipping...
Warning: Image at index 733 has no bounding boxes. Skipping...
Warning: Image at index 7478 has no bounding boxes. Skipping...
Warning: Image at index 1322 has no bounding boxes. Skipping...
Warning: Image at index 5452 has no bounding boxes. Skipping...Warning: Image at index 3400 has no bounding boxes. Skipping...
Warning: Image at index 3515 has no bounding boxes. Skipping...
Warning: Image at index 1220 has no bounding boxes. Skipping...
Warning: Image at index 4614 has no bounding boxes. Skipping...
Warning: Image at index 7372 has no bounding boxes. Skipping...Warning: Image at index 5474 has no bounding boxes. Skipping...Warning: Image at index 7953 has no bounding boxes. Skipping...Warning: Image at index 7617 has no bounding boxes. Skipping...
Warning: Image at index 5313 has no bounding boxes. Skipping...Warning: Image at index 4466 has no bounding boxes. Skipping...
Warning: Image at index 7449 has no bounding boxes. Skipping...
Warning: Image at index 4889 has no bounding boxes. Skipping...Warning: Image at index 5465 has no bounding boxes. Skipping...
Warning: Image at index 5902 has no bounding boxes. Skipping...
Warning: Image at index 2796 has no bounding boxes. Skipping...
Warning: Image at index 5351 has no bounding boxes. Skipping...
Warning: Image at index 4950 has no bounding boxes. Skipping...Warning: Image at index 5826 has no bounding boxes. Skipping...
Warning: Image at index 5346 has no bounding boxes. Skipping...
Warning: Image at index 6627 has no bounding boxes. Skipping...Warning: Image at index 1389 has no bounding boxes. Skipping...
Warning: Image at index 5837 has no bounding boxes. Skipping...
Warning: Image at index 4079 has no bounding boxes. Skipping...Warning: Image at index 2224 has no bounding boxes. Skipping...
Warning: Image at index 6305 has no bounding boxes. Skipping...Warning: Image at index 6659 has no bounding boxes. Skipping...
Warning: Image at index 5180 has no bounding boxes. Skipping...
Warning: Image at index 6457 has no bounding boxes. Skipping...
Warning: Image at index 4177 has no bounding boxes. Skipping...Warning: Image at index 2002 has no bounding boxes. Skipping...
Warning: Image at index 2286 has no bounding boxes. Skipping...Warning: Image at index 1850 has no bounding boxes. Skipping...
Warning: Image at index 316 has no bounding boxes. Skipping...Warning: Image at index 588 has no bounding boxes. Skipping...Warning: Image at index 91 has no bounding boxes. Skipping...
Warning: Image at index 6942 has no bounding boxes. Skipping...
Warning: Image at index 1373 has no bounding boxes. Skipping...
Warning: Image at index 3793 has no bounding boxes. Skipping...
Warning: Image at index 2416 has no bounding boxes. Skipping...
Warning: Image at index 6863 has no bounding boxes. Skipping...Warning: Image at index 6294 has no bounding boxes. Skipping...Warning: Image at index 3129 has no bounding boxes. Skipping...
Warning: Image at index 1544 has no bounding boxes. Skipping...
Warning: Image at index 2908 has no bounding boxes. Skipping...Warning: Image at index 7481 has no bounding boxes. Skipping...
Warning: Image at index 6700 has no bounding boxes. Skipping...
Warning: Image at index 1277 has no bounding boxes. Skipping...
Warning: Image at index 2281 has no bounding boxes. Skipping...Warning: Image at index 4379 has no bounding boxes. Skipping...
Warning: Image at index 6476 has no bounding boxes. Skipping...
Warning: Image at index 6182 has no bounding boxes. Skipping...
Warning: Image at index 1782 has no bounding boxes. Skipping...
Warning: Image at index 7312 has no bounding boxes. Skipping...Warning: Image at index 194 has no bounding boxes. Skipping...
Warning: Image at index 4726 has no bounding boxes. Skipping...
Warning: Image at index 2295 has no bounding boxes. Skipping...
Warning: Image at index 4658 has no bounding boxes. Skipping...
Warning: Image at index 5121 has no bounding boxes. Skipping...Warning: Image at index 332 has no bounding boxes. Skipping...
Warning: Image at index 7929 has no bounding boxes. Skipping...Warning: Image at index 5899 has no bounding boxes. Skipping...
Warning: Image at index 4011 has no bounding boxes. Skipping...
Warning: Image at index 2719 has no bounding boxes. Skipping...Warning: Image at index 1046 has no bounding boxes. Skipping...
Warning: Image at index 5226 has no bounding boxes. Skipping...
Warning: Image at index 2594 has no bounding boxes. Skipping...
Warning: Image at index 1204 has no bounding boxes. Skipping...
Warning: Image at index 3045 has no bounding boxes. Skipping...Warning: Image at index 622 has no bounding boxes. Skipping...
Warning: Image at index 5647 has no bounding boxes. Skipping...Warning: Image at index 4346 has no bounding boxes. Skipping...
Warning: Image at index 4415 has no bounding boxes. Skipping...Warning: Image at index 5473 has no bounding boxes. Skipping...
Warning: Image at index 3181 has no bounding boxes. Skipping...
Warning: Image at index 1641 has no bounding boxes. Skipping...Warning: Image at index 5968 has no bounding boxes. Skipping...
Warning: Image at index 6854 has no bounding boxes. Skipping...
Warning: Image at index 6379 has no bounding boxes. Skipping...Warning: Image at index 6523 has no bounding boxes. Skipping...
Warning: Image at index 1026 has no bounding boxes. Skipping...
Warning: Image at index 5365 has no bounding boxes. Skipping...
Warning: Image at index 2328 has no bounding boxes. Skipping...Warning: Image at index 5774 has no bounding boxes. Skipping...
Warning: Image at index 6690 has no bounding boxes. Skipping...Warning: Image at index 2072 has no bounding boxes. Skipping...
Warning: Image at index 5952 has no bounding boxes. Skipping...
Warning: Image at index 2400 has no bounding boxes. Skipping...
Warning: Image at index 1600 has no bounding boxes. Skipping...
Warning: Image at index 6149 has no bounding boxes. Skipping...Warning: Image at index 1186 has no bounding boxes. Skipping...Warning: Image at index 7967 has no bounding boxes. Skipping...
Warning: Image at index 2214 has no bounding boxes. Skipping...
Warning: Image at index 1986 has no bounding boxes. Skipping...
Warning: Image at index 3022 has no bounding boxes. Skipping...Warning: Image at index 7268 has no bounding boxes. Skipping...Warning: Image at index 139 has no bounding boxes. Skipping...
Warning: Image at index 2799 has no bounding boxes. Skipping...Warning: Image at index 2136 has no bounding boxes. Skipping...Warning: Image at index 4506 has no bounding boxes. Skipping...Warning: Image at index 6203 has no bounding boxes. Skipping...
Warning: Image at index 1347 has no bounding boxes. Skipping...
Warning: Image at index 6399 has no bounding boxes. Skipping...
Warning: Image at index 7588 has no bounding boxes. Skipping...
Warning: Image at index 2011 has no bounding boxes. Skipping...Warning: Image at index 8168 has no bounding boxes. Skipping...
Warning: Image at index 3246 has no bounding boxes. Skipping...Warning: Image at index 2536 has no bounding boxes. Skipping...Warning: Image at index 7314 has no bounding boxes. Skipping...Warning: Image at index 839 has no bounding boxes. Skipping...
Warning: Image at index 1059 has no bounding boxes. Skipping...Warning: Image at index 3739 has no bounding boxes. Skipping...
Warning: Image at index 3010 has no bounding boxes. Skipping...
Warning: Image at index 6326 has no bounding boxes. Skipping...
Warning: Image at index 5996 has no bounding boxes. Skipping...Warning: Image at index 4958 has no bounding boxes. Skipping...
Warning: Image at index 5299 has no bounding boxes. Skipping...
Warning: Image at index 5852 has no bounding boxes. Skipping...
Warning: Image at index 7845 has no bounding boxes. Skipping...
Warning: Image at index 5610 has no bounding boxes. Skipping...
Warning: Image at index 565 has no bounding boxes. Skipping...Warning: Image at index 2452 has no bounding boxes. Skipping...
Warning: Image at index 3233 has no bounding boxes. Skipping...
Warning: Image at index 7895 has no bounding boxes. Skipping...
Warning: Image at index 790 has no bounding boxes. Skipping...
Warning: Image at index 6824 has no bounding boxes. Skipping...
Warning: Image at index 2361 has no bounding boxes. Skipping...Warning: Image at index 7756 has no bounding boxes. Skipping...
Warning: Image at index 1174 has no bounding boxes. Skipping...
Warning: Image at index 8167 has no bounding boxes. Skipping...
Warning: Image at index 5125 has no bounding boxes. Skipping...Warning: Image at index 5350 has no bounding boxes. Skipping...
Warning: Image at index 7107 has no bounding boxes. Skipping...
Warning: Image at index 1286 has no bounding boxes. Skipping...
Warning: Image at index 2874 has no bounding boxes. Skipping...
Warning: Image at index 3470 has no bounding boxes. Skipping...Warning: Image at index 2729 has no bounding boxes. Skipping...Warning: Image at index 5109 has no bounding boxes. Skipping...
Warning: Image at index 846 has no bounding boxes. Skipping...
Warning: Image at index 2679 has no bounding boxes. Skipping...Warning: Image at index 3335 has no bounding boxes. Skipping...
Warning: Image at index 4497 has no bounding boxes. Skipping...
Warning: Image at index 1079 has no bounding boxes. Skipping...Warning: Image at index 3552 has no bounding boxes. Skipping...
Warning: Image at index 1819 has no bounding boxes. Skipping...Warning: Image at index 7136 has no bounding boxes. Skipping...Warning: Image at index 2263 has no bounding boxes. Skipping...
Warning: Image at index 3387 has no bounding boxes. Skipping...
Warning: Image at index 1242 has no bounding boxes. Skipping...Warning: Image at index 1980 has no bounding boxes. Skipping...
Warning: Image at index 5021 has no bounding boxes. Skipping...
Warning: Image at index 6205 has no bounding boxes. Skipping...Warning: Image at index 6813 has no bounding boxes. Skipping...
Warning: Image at index 6596 has no bounding boxes. Skipping...
Warning: Image at index 3172 has no bounding boxes. Skipping...
Warning: Image at index 3517 has no bounding boxes. Skipping...
Warning: Image at index 356 has no bounding boxes. Skipping...
Warning: Image at index 1550 has no bounding boxes. Skipping...
Warning: Image at index 1145 has no bounding boxes. Skipping...Warning: Image at index 5176 has no bounding boxes. Skipping...
Warning: Image at index 1438 has no bounding boxes. Skipping...
Warning: Image at index 1244 has no bounding boxes. Skipping...Warning: Image at index 1157 has no bounding boxes. Skipping...
Warning: Image at index 4978 has no bounding boxes. Skipping...
Warning: Image at index 1241 has no bounding boxes. Skipping...
Warning: Image at index 163 has no bounding boxes. Skipping...Warning: Image at index 7771 has no bounding boxes. Skipping...
Warning: Image at index 6760 has no bounding boxes. Skipping...Warning: Image at index 5083 has no bounding boxes. Skipping...
Warning: Image at index 2363 has no bounding boxes. Skipping...
Warning: Image at index 723 has no bounding boxes. Skipping...
Warning: Image at index 4155 has no bounding boxes. Skipping...Warning: Image at index 5861 has no bounding boxes. Skipping...
Warning: Image at index 3842 has no bounding boxes. Skipping...
Warning: Image at index 657 has no bounding boxes. Skipping...Warning: Image at index 5793 has no bounding boxes. Skipping...
Warning: Image at index 5088 has no bounding boxes. Skipping...
Warning: Image at index 1057 has no bounding boxes. Skipping...
Warning: Image at index 6905 has no bounding boxes. Skipping...
Warning: Image at index 6526 has no bounding boxes. Skipping...
Warning: Image at index 4693 has no bounding boxes. Skipping...Warning: Image at index 1981 has no bounding boxes. Skipping...
Warning: Image at index 6267 has no bounding boxes. Skipping...Warning: Image at index 3448 has no bounding boxes. Skipping...
Warning: Image at index 1342 has no bounding boxes. Skipping...
Warning: Image at index 7696 has no bounding boxes. Skipping...Warning: Image at index 5737 has no bounding boxes. Skipping...
Warning: Image at index 1960 has no bounding boxes. Skipping...Warning: Image at index 3879 has no bounding boxes. Skipping...
Warning: Image at index 5231 has no bounding boxes. Skipping...Warning: Image at index 131 has no bounding boxes. Skipping...
Warning: Image at index 5784 has no bounding boxes. Skipping...Warning: Image at index 1798 has no bounding boxes. Skipping...
Warning: Image at index 4583 has no bounding boxes. Skipping...
Warning: Image at index 1583 has no bounding boxes. Skipping...
Warning: Image at index 5470 has no bounding boxes. Skipping...Warning: Image at index 710 has no bounding boxes. Skipping...Warning: Image at index 5565 has no bounding boxes. Skipping...
Warning: Image at index 4778 has no bounding boxes. Skipping...
Warning: Image at index 5281 has no bounding boxes. Skipping...
Warning: Image at index 5061 has no bounding boxes. Skipping...
Warning: Image at index 1361 has no bounding boxes. Skipping...Warning: Image at index 2688 has no bounding boxes. Skipping...Warning: Image at index 3384 has no bounding boxes. Skipping...Warning: Image at index 1586 has no bounding boxes. Skipping...
Warning: Image at index 292 has no bounding boxes. Skipping...
Warning: Image at index 1704 has no bounding boxes. Skipping...
Warning: Image at index 3816 has no bounding boxes. Skipping...
Warning: Image at index 5300 has no bounding boxes. Skipping...Warning: Image at index 7859 has no bounding boxes. Skipping...
Warning: Image at index 774 has no bounding boxes. Skipping...Warning: Image at index 7013 has no bounding boxes. Skipping...
Warning: Image at index 5418 has no bounding boxes. Skipping...
Warning: Image at index 1317 has no bounding boxes. Skipping...
Warning: Image at index 5595 has no bounding boxes. Skipping...
Warning: Image at index 7893 has no bounding boxes. Skipping...
Warning: Image at index 371 has no bounding boxes. Skipping...Warning: Image at index 7165 has no bounding boxes. Skipping...Warning: Image at index 8235 has no bounding boxes. Skipping...
Warning: Image at index 829 has no bounding boxes. Skipping...Warning: Image at index 6567 has no bounding boxes. Skipping...Warning: Image at index 7921 has no bounding boxes. Skipping...Warning: Image at index 6689 has no bounding boxes. Skipping...
Warning: Image at index 1925 has no bounding boxes. Skipping...Warning: Image at index 3124 has no bounding boxes. Skipping...
Warning: Image at index 258 has no bounding boxes. Skipping...Warning: Image at index 4132 has no bounding boxes. Skipping...
Warning: Image at index 654 has no bounding boxes. Skipping...
Warning: Image at index 2258 has no bounding boxes. Skipping...
Warning: Image at index 1653 has no bounding boxes. Skipping...Warning: Image at index 3596 has no bounding boxes. Skipping...
Warning: Image at index 4067 has no bounding boxes. Skipping...Warning: Image at index 3427 has no bounding boxes. Skipping...
Warning: Image at index 2520 has no bounding boxes. Skipping...
Warning: Image at index 3862 has no bounding boxes. Skipping...Warning: Image at index 5430 has no bounding boxes. Skipping...
Warning: Image at index 4991 has no bounding boxes. Skipping...
Warning: Image at index 6482 has no bounding boxes. Skipping...Warning: Image at index 3772 has no bounding boxes. Skipping...Warning: Image at index 2627 has no bounding boxes. Skipping...
Warning: Image at index 7 has no bounding boxes. Skipping...
Warning: Image at index 5457 has no bounding boxes. Skipping...Warning: Image at index 4323 has no bounding boxes. Skipping...
Warning: Image at index 623 has no bounding boxes. Skipping...
Warning: Image at index 541 has no bounding boxes. Skipping...Warning: Image at index 8149 has no bounding boxes. Skipping...
Warning: Image at index 7460 has no bounding boxes. Skipping...
Warning: Image at index 6240 has no bounding boxes. Skipping...
Warning: Image at index 2483 has no bounding boxes. Skipping...Warning: Image at index 7352 has no bounding boxes. Skipping...
Warning: Image at index 3698 has no bounding boxes. Skipping...Warning: Image at index 4811 has no bounding boxes. Skipping...Warning: Image at index 6913 has no bounding boxes. Skipping...
Warning: Image at index 5622 has no bounding boxes. Skipping...Warning: Image at index 2684 has no bounding boxes. Skipping...
Warning: Image at index 896 has no bounding boxes. Skipping...
Warning: Image at index 1757 has no bounding boxes. Skipping...Warning: Image at index 8125 has no bounding boxes. Skipping...
Warning: Image at index 273 has no bounding boxes. Skipping...
Warning: Image at index 2129 has no bounding boxes. Skipping...
Warning: Image at index 87 has no bounding boxes. Skipping...
Warning: Image at index 6837 has no bounding boxes. Skipping...
Warning: Image at index 189 has no bounding boxes. Skipping...
Warning: Image at index 3701 has no bounding boxes. Skipping...Warning: Image at index 3336 has no bounding boxes. Skipping...
Warning: Image at index 3984 has no bounding boxes. Skipping...
Warning: Image at index 7782 has no bounding boxes. Skipping...
Warning: Image at index 386 has no bounding boxes. Skipping...
Warning: Image at index 873 has no bounding boxes. Skipping...Warning: Image at index 6997 has no bounding boxes. Skipping...
Warning: Image at index 7667 has no bounding boxes. Skipping...
Warning: Image at index 6662 has no bounding boxes. Skipping...
Warning: Image at index 6308 has no bounding boxes. Skipping...Warning: Image at index 816 has no bounding boxes. Skipping...
Warning: Image at index 1139 has no bounding boxes. Skipping...
Warning: Image at index 2490 has no bounding boxes. Skipping...
Warning: Image at index 7804 has no bounding boxes. Skipping...
Warning: Image at index 4356 has no bounding boxes. Skipping...Warning: Image at index 3994 has no bounding boxes. Skipping...
Warning: Image at index 5988 has no bounding boxes. Skipping...
Warning: Image at index 1063 has no bounding boxes. Skipping...Warning: Image at index 6556 has no bounding boxes. Skipping...
Warning: Image at index 667 has no bounding boxes. Skipping...
Warning: Image at index 6447 has no bounding boxes. Skipping...
Warning: Image at index 2117 has no bounding boxes. Skipping...Warning: Image at index 535 has no bounding boxes. Skipping...Warning: Image at index 2978 has no bounding boxes. Skipping...
Warning: Image at index 6071 has no bounding boxes. Skipping...
Warning: Image at index 2382 has no bounding boxes. Skipping...
Warning: Image at index 5466 has no bounding boxes. Skipping...Warning: Image at index 5028 has no bounding boxes. Skipping...Warning: Image at index 2154 has no bounding boxes. Skipping...
Warning: Image at index 4304 has no bounding boxes. Skipping...
Warning: Image at index 4634 has no bounding boxes. Skipping...Warning: Image at index 2392 has no bounding boxes. Skipping...
Warning: Image at index 7688 has no bounding boxes. Skipping...Warning: Image at index 5804 has no bounding boxes. Skipping...
Warning: Image at index 1218 has no bounding boxes. Skipping...
Warning: Image at index 213 has no bounding boxes. Skipping...Warning: Image at index 7074 has no bounding boxes. Skipping...
Warning: Image at index 392 has no bounding boxes. Skipping...
Warning: Image at index 3191 has no bounding boxes. Skipping...
Warning: Image at index 6409 has no bounding boxes. Skipping...
Warning: Image at index 2927 has no bounding boxes. Skipping...
Warning: Image at index 1173 has no bounding boxes. Skipping...
Warning: Image at index 4967 has no bounding boxes. Skipping...Warning: Image at index 2422 has no bounding boxes. Skipping...
Warning: Image at index 5272 has no bounding boxes. Skipping...Warning: Image at index 2865 has no bounding boxes. Skipping...
Warning: Image at index 2202 has no bounding boxes. Skipping...Warning: Image at index 4188 has no bounding boxes. Skipping...
Warning: Image at index 2146 has no bounding boxes. Skipping...
Warning: Image at index 1816 has no bounding boxes. Skipping...
Warning: Image at index 727 has no bounding boxes. Skipping...
Warning: Image at index 6172 has no bounding boxes. Skipping...
Warning: Image at index 4075 has no bounding boxes. Skipping...Warning: Image at index 1591 has no bounding boxes. Skipping...
Warning: Image at index 6941 has no bounding boxes. Skipping...
Warning: Image at index 4754 has no bounding boxes. Skipping...
Warning: Image at index 4224 has no bounding boxes. Skipping...
Warning: Image at index 1806 has no bounding boxes. Skipping...Warning: Image at index 3553 has no bounding boxes. Skipping...
Warning: Image at index 6394 has no bounding boxes. Skipping...
Warning: Image at index 2257 has no bounding boxes. Skipping...Warning: Image at index 156 has no bounding boxes. Skipping...
Warning: Image at index 3985 has no bounding boxes. Skipping...
Warning: Image at index 415 has no bounding boxes. Skipping...
Warning: Image at index 550 has no bounding boxes. Skipping...
Warning: Image at index 7825 has no bounding boxes. Skipping...Warning: Image at index 3981 has no bounding boxes. Skipping...
Warning: Image at index 3261 has no bounding boxes. Skipping...Warning: Image at index 1920 has no bounding boxes. Skipping...Warning: Image at index 4824 has no bounding boxes. Skipping...
Warning: Image at index 278 has no bounding boxes. Skipping...Warning: Image at index 7566 has no bounding boxes. Skipping...
Warning: Image at index 2779 has no bounding boxes. Skipping...
Warning: Image at index 4948 has no bounding boxes. Skipping...
Warning: Image at index 4440 has no bounding boxes. Skipping...Warning: Image at index 7446 has no bounding boxes. Skipping...
Warning: Image at index 4522 has no bounding boxes. Skipping...Warning: Image at index 6978 has no bounding boxes. Skipping...Warning: Image at index 4260 has no bounding boxes. Skipping...
Warning: Image at index 6052 has no bounding boxes. Skipping...
Warning: Image at index 436 has no bounding boxes. Skipping...Warning: Image at index 1940 has no bounding boxes. Skipping...Warning: Image at index 5760 has no bounding boxes. Skipping...
Warning: Image at index 3735 has no bounding boxes. Skipping...
Warning: Image at index 4383 has no bounding boxes. Skipping...Warning: Image at index 852 has no bounding boxes. Skipping...
Warning: Image at index 7002 has no bounding boxes. Skipping...
Warning: Image at index 2312 has no bounding boxes. Skipping...
Warning: Image at index 4580 has no bounding boxes. Skipping...Warning: Image at index 4210 has no bounding boxes. Skipping...
Warning: Image at index 5867 has no bounding boxes. Skipping...
Warning: Image at index 3116 has no bounding boxes. Skipping...
Warning: Image at index 4825 has no bounding boxes. Skipping...Warning: Image at index 7498 has no bounding boxes. Skipping...
Warning: Image at index 2994 has no bounding boxes. Skipping...Warning: Image at index 1811 has no bounding boxes. Skipping...
Warning: Image at index 5967 has no bounding boxes. Skipping...
Warning: Image at index 1207 has no bounding boxes. Skipping...Warning: Image at index 3207 has no bounding boxes. Skipping...
Warning: Image at index 173 has no bounding boxes. Skipping...
Warning: Image at index 4262 has no bounding boxes. Skipping...
Warning: Image at index 4766 has no bounding boxes. Skipping...Warning: Image at index 6749 has no bounding boxes. Skipping...
Warning: Image at index 5570 has no bounding boxes. Skipping...
Warning: Image at index 4477 has no bounding boxes. Skipping...
Warning: Image at index 918 has no bounding boxes. Skipping...
Warning: Image at index 3301 has no bounding boxes. Skipping...Warning: Image at index 2757 has no bounding boxes. Skipping...
Warning: Image at index 1676 has no bounding boxes. Skipping...
Warning: Image at index 3075 has no bounding boxes. Skipping...Warning: Image at index 7056 has no bounding boxes. Skipping...Warning: Image at index 4208 has no bounding boxes. Skipping...
Warning: Image at index 2200 has no bounding boxes. Skipping...
Warning: Image at index 2588 has no bounding boxes. Skipping...
Warning: Image at index 6960 has no bounding boxes. Skipping...Warning: Image at index 6720 has no bounding boxes. Skipping...
Warning: Image at index 7230 has no bounding boxes. Skipping...
Warning: Image at index 4798 has no bounding boxes. Skipping...
Warning: Image at index 7601 has no bounding boxes. Skipping...Warning: Image at index 6275 has no bounding boxes. Skipping...
Warning: Image at index 4449 has no bounding boxes. Skipping...Warning: Image at index 8102 has no bounding boxes. Skipping...Warning: Image at index 1715 has no bounding boxes. Skipping...
Warning: Image at index 1927 has no bounding boxes. Skipping...
Warning: Image at index 3348 has no bounding boxes. Skipping...Warning: Image at index 3937 has no bounding boxes. Skipping...
Warning: Image at index 4099 has no bounding boxes. Skipping...
Warning: Image at index 826 has no bounding boxes. Skipping...Warning: Image at index 4337 has no bounding boxes. Skipping...
Warning: Image at index 1862 has no bounding boxes. Skipping...
Warning: Image at index 5869 has no bounding boxes. Skipping...
Warning: Image at index 991 has no bounding boxes. Skipping...
Warning: Image at index 5977 has no bounding boxes. Skipping...Warning: Image at index 7641 has no bounding boxes. Skipping...Warning: Image at index 2010 has no bounding boxes. Skipping...
Warning: Image at index 5755 has no bounding boxes. Skipping...
Warning: Image at index 5049 has no bounding boxes. Skipping...Warning: Image at index 2273 has no bounding boxes. Skipping...
Warning: Image at index 3886 has no bounding boxes. Skipping...Warning: Image at index 4817 has no bounding boxes. Skipping...
Warning: Image at index 4742 has no bounding boxes. Skipping...
Warning: Image at index 6884 has no bounding boxes. Skipping...Warning: Image at index 769 has no bounding boxes. Skipping...
Warning: Image at index 3160 has no bounding boxes. Skipping...
Warning: Image at index 1941 has no bounding boxes. Skipping...
Warning: Image at index 860 has no bounding boxes. Skipping...
Warning: Image at index 719 has no bounding boxes. Skipping...
Warning: Image at index 3663 has no bounding boxes. Skipping...Warning: Image at index 2302 has no bounding boxes. Skipping...
Warning: Image at index 5360 has no bounding boxes. Skipping...Warning: Image at index 2324 has no bounding boxes. Skipping...
Warning: Image at index 7670 has no bounding boxes. Skipping...
Warning: Image at index 98 has no bounding boxes. Skipping...
Warning: Image at index 3182 has no bounding boxes. Skipping...
Warning: Image at index 8238 has no bounding boxes. Skipping...
Warning: Image at index 6342 has no bounding boxes. Skipping...Warning: Image at index 7250 has no bounding boxes. Skipping...
Warning: Image at index 7367 has no bounding boxes. Skipping...Warning: Image at index 4862 has no bounding boxes. Skipping...
Warning: Image at index 2475 has no bounding boxes. Skipping...
Warning: Image at index 453 has no bounding boxes. Skipping...Warning: Image at index 169 has no bounding boxes. Skipping...
Warning: Image at index 3139 has no bounding boxes. Skipping...Warning: Image at index 3232 has no bounding boxes. Skipping...
Warning: Image at index 6347 has no bounding boxes. Skipping...
Warning: Image at index 4104 has no bounding boxes. Skipping...
Warning: Image at index 6135 has no bounding boxes. Skipping...Warning: Image at index 1786 has no bounding boxes. Skipping...
Warning: Image at index 4764 has no bounding boxes. Skipping...
Warning: Image at index 668 has no bounding boxes. Skipping...
Warning: Image at index 5033 has no bounding boxes. Skipping...
Warning: Image at index 7772 has no bounding boxes. Skipping...Warning: Image at index 2991 has no bounding boxes. Skipping...
Warning: Image at index 7531 has no bounding boxes. Skipping...
Warning: Image at index 6819 has no bounding boxes. Skipping...Warning: Image at index 5203 has no bounding boxes. Skipping...
Warning: Image at index 4267 has no bounding boxes. Skipping...
Warning: Image at index 7538 has no bounding boxes. Skipping...
Warning: Image at index 7761 has no bounding boxes. Skipping...
Warning: Image at index 6317 has no bounding boxes. Skipping...
Warning: Image at index 2460 has no bounding boxes. Skipping...
Warning: Image at index 969 has no bounding boxes. Skipping...
Warning: Image at index 2896 has no bounding boxes. Skipping...
Warning: Image at index 2107 has no bounding boxes. Skipping...Warning: Image at index 1580 has no bounding boxes. Skipping...
Warning: Image at index 8224 has no bounding boxes. Skipping...
Warning: Image at index 5370 has no bounding boxes. Skipping...Warning: Image at index 5252 has no bounding boxes. Skipping...
Warning: Image at index 5839 has no bounding boxes. Skipping...
Warning: Image at index 2915 has no bounding boxes. Skipping...
Warning: Image at index 6216 has no bounding boxes. Skipping...Warning: Image at index 1612 has no bounding boxes. Skipping...Warning: Image at index 2027 has no bounding boxes. Skipping...Warning: Image at index 6932 has no bounding boxes. Skipping...
Warning: Image at index 3941 has no bounding boxes. Skipping...
Warning: Image at index 4900 has no bounding boxes. Skipping...Warning: Image at index 1604 has no bounding boxes. Skipping...
Warning: Image at index 7482 has no bounding boxes. Skipping...
Warning: Image at index 3503 has no bounding boxes. Skipping...Warning: Image at index 8023 has no bounding boxes. Skipping...
Warning: Image at index 4139 has no bounding boxes. Skipping...Warning: Image at index 7368 has no bounding boxes. Skipping...
Warning: Image at index 159 has no bounding boxes. Skipping...
Warning: Image at index 7806 has no bounding boxes. Skipping...Warning: Image at index 4945 has no bounding boxes. Skipping...Warning: Image at index 1288 has no bounding boxes. Skipping...
Warning: Image at index 6643 has no bounding boxes. Skipping...Warning: Image at index 4101 has no bounding boxes. Skipping...
Warning: Image at index 7917 has no bounding boxes. Skipping...
Warning: Image at index 1210 has no bounding boxes. Skipping...
Warning: Image at index 907 has no bounding boxes. Skipping...
Warning: Image at index 5540 has no bounding boxes. Skipping...Warning: Image at index 198 has no bounding boxes. Skipping...Warning: Image at index 474 has no bounding boxes. Skipping...
Warning: Image at index 7491 has no bounding boxes. Skipping...
Warning: Image at index 7110 has no bounding boxes. Skipping...
Warning: Image at index 2191 has no bounding boxes. Skipping...
Warning: Image at index 1216 has no bounding boxes. Skipping...Warning: Image at index 1935 has no bounding boxes. Skipping...Warning: Image at index 3740 has no bounding boxes. Skipping...
Warning: Image at index 5983 has no bounding boxes. Skipping...
Warning: Image at index 5919 has no bounding boxes. Skipping...Warning: Image at index 5541 has no bounding boxes. Skipping...
Warning: Image at index 7568 has no bounding boxes. Skipping...
Warning: Image at index 1655 has no bounding boxes. Skipping...
Warning: Image at index 6397 has no bounding boxes. Skipping...
Warning: Image at index 4804 has no bounding boxes. Skipping...Warning: Image at index 4401 has no bounding boxes. Skipping...
Warning: Image at index 6697 has no bounding boxes. Skipping...
Warning: Image at index 3007 has no bounding boxes. Skipping...Warning: Image at index 4588 has no bounding boxes. Skipping...Warning: Image at index 1984 has no bounding boxes. Skipping...
Warning: Image at index 5532 has no bounding boxes. Skipping...
Warning: Image at index 4563 has no bounding boxes. Skipping...
Warning: Image at index 8241 has no bounding boxes. Skipping...Warning: Image at index 704 has no bounding boxes. Skipping...
Warning: Image at index 4843 has no bounding boxes. Skipping...
Warning: Image at index 4277 has no bounding boxes. Skipping...Warning: Image at index 3385 has no bounding boxes. Skipping...
Warning: Image at index 4098 has no bounding boxes. Skipping...
Warning: Image at index 3138 has no bounding boxes. Skipping...
Warning: Image at index 6598 has no bounding boxes. Skipping...Warning: Image at index 7444 has no bounding boxes. Skipping...
Warning: Image at index 5906 has no bounding boxes. Skipping...
Warning: Image at index 5711 has no bounding boxes. Skipping...
Warning: Image at index 946 has no bounding boxes. Skipping...
Warning: Image at index 552 has no bounding boxes. Skipping...Warning: Image at index 3088 has no bounding boxes. Skipping...
Warning: Image at index 5352 has no bounding boxes. Skipping...Warning: Image at index 6509 has no bounding boxes. Skipping...
Warning: Image at index 5229 has no bounding boxes. Skipping...
Warning: Image at index 5251 has no bounding boxes. Skipping...Warning: Image at index 1418 has no bounding boxes. Skipping...Warning: Image at index 6761 has no bounding boxes. Skipping...
Warning: Image at index 3652 has no bounding boxes. Skipping...
Warning: Image at index 7564 has no bounding boxes. Skipping...
Warning: Image at index 2186 has no bounding boxes. Skipping...
Warning: Image at index 6082 has no bounding boxes. Skipping...
Warning: Image at index 6324 has no bounding boxes. Skipping...
Warning: Image at index 3148 has no bounding boxes. Skipping...
Warning: Image at index 2506 has no bounding boxes. Skipping...Warning: Image at index 2740 has no bounding boxes. Skipping...
Warning: Image at index 5363 has no bounding boxes. Skipping...
Warning: Image at index 2563 has no bounding boxes. Skipping...
Warning: Image at index 404 has no bounding boxes. Skipping...
Warning: Image at index 5729 has no bounding boxes. Skipping...Warning: Image at index 2923 has no bounding boxes. Skipping...
Warning: Image at index 25 has no bounding boxes. Skipping...
Warning: Image at index 1223 has no bounding boxes. Skipping...Warning: Image at index 309 has no bounding boxes. Skipping...
Warning: Image at index 3865 has no bounding boxes. Skipping...
Warning: Image at index 7285 has no bounding boxes. Skipping...Warning: Image at index 4108 has no bounding boxes. Skipping...Warning: Image at index 5855 has no bounding boxes. Skipping...
Warning: Image at index 5192 has no bounding boxes. Skipping...Warning: Image at index 244 has no bounding boxes. Skipping...
Warning: Image at index 8172 has no bounding boxes. Skipping...
Warning: Image at index 6456 has no bounding boxes. Skipping...Warning: Image at index 634 has no bounding boxes. Skipping...Warning: Image at index 6736 has no bounding boxes. Skipping...
Warning: Image at index 6288 has no bounding boxes. Skipping...
Warning: Image at index 2447 has no bounding boxes. Skipping...Warning: Image at index 1728 has no bounding boxes. Skipping...
Warning: Image at index 1524 has no bounding boxes. Skipping...
Warning: Image at index 1178 has no bounding boxes. Skipping...Warning: Image at index 1692 has no bounding boxes. Skipping...Warning: Image at index 1181 has no bounding boxes. Skipping...
Warning: Image at index 1967 has no bounding boxes. Skipping...
Warning: Image at index 1066 has no bounding boxes. Skipping...Warning: Image at index 6880 has no bounding boxes. Skipping...
Warning: Image at index 1160 has no bounding boxes. Skipping...
Warning: Image at index 4526 has no bounding boxes. Skipping...Warning: Image at index 7080 has no bounding boxes. Skipping...Warning: Image at index 4959 has no bounding boxes. Skipping...
Warning: Image at index 6623 has no bounding boxes. Skipping...
Warning: Image at index 4431 has no bounding boxes. Skipping...
Warning: Image at index 2569 has no bounding boxes. Skipping...Warning: Image at index 5894 has no bounding boxes. Skipping...
Warning: Image at index 4592 has no bounding boxes. Skipping...Warning: Image at index 6463 has no bounding boxes. Skipping...
Warning: Image at index 7502 has no bounding boxes. Skipping...Warning: Image at index 7010 has no bounding boxes. Skipping...
Warning: Image at index 2066 has no bounding boxes. Skipping...Warning: Image at index 1408 has no bounding boxes. Skipping...
Warning: Image at index 5699 has no bounding boxes. Skipping...Warning: Image at index 5156 has no bounding boxes. Skipping...
Warning: Image at index 2300 has no bounding boxes. Skipping...Warning: Image at index 1269 has no bounding boxes. Skipping...
Warning: Image at index 2270 has no bounding boxes. Skipping...
Warning: Image at index 7266 has no bounding boxes. Skipping...Warning: Image at index 5333 has no bounding boxes. Skipping...
Warning: Image at index 7048 has no bounding boxes. Skipping...
Warning: Image at index 3648 has no bounding boxes. Skipping...
Warning: Image at index 5505 has no bounding boxes. Skipping...Warning: Image at index 5780 has no bounding boxes. Skipping...
Warning: Image at index 8089 has no bounding boxes. Skipping...Warning: Image at index 1504 has no bounding boxes. Skipping...
Warning: Image at index 6776 has no bounding boxes. Skipping...
Warning: Image at index 4833 has no bounding boxes. Skipping...
Warning: Image at index 8077 has no bounding boxes. Skipping...
Warning: Image at index 1730 has no bounding boxes. Skipping...
Warning: Image at index 7022 has no bounding boxes. Skipping...
Warning: Image at index 3897 has no bounding boxes. Skipping...
Warning: Image at index 3008 has no bounding boxes. Skipping...Warning: Image at index 3702 has no bounding boxes. Skipping...
Warning: Image at index 8081 has no bounding boxes. Skipping...Warning: Image at index 7582 has no bounding boxes. Skipping...
Warning: Image at index 7087 has no bounding boxes. Skipping...Warning: Image at index 2636 has no bounding boxes. Skipping...
Warning: Image at index 4875 has no bounding boxes. Skipping...Warning: Image at index 134 has no bounding boxes. Skipping...
Warning: Image at index 5911 has no bounding boxes. Skipping...
Warning: Image at index 3218 has no bounding boxes. Skipping...Warning: Image at index 7218 has no bounding boxes. Skipping...
Warning: Image at index 149 has no bounding boxes. Skipping...Warning: Image at index 1412 has no bounding boxes. Skipping...Warning: Image at index 3640 has no bounding boxes. Skipping...
Warning: Image at index 5564 has no bounding boxes. Skipping...
Warning: Image at index 6802 has no bounding boxes. Skipping...
Warning: Image at index 626 has no bounding boxes. Skipping...
Warning: Image at index 7404 has no bounding boxes. Skipping...
Warning: Image at index 4695 has no bounding boxes. Skipping...Warning: Image at index 5152 has no bounding boxes. Skipping...
Warning: Image at index 6396 has no bounding boxes. Skipping...
Warning: Image at index 1188 has no bounding boxes. Skipping...Warning: Image at index 3141 has no bounding boxes. Skipping...Warning: Image at index 3813 has no bounding boxes. Skipping...
Warning: Image at index 4144 has no bounding boxes. Skipping...
Warning: Image at index 2255 has no bounding boxes. Skipping...
Warning: Image at index 6547 has no bounding boxes. Skipping...
Warning: Image at index 810 has no bounding boxes. Skipping...
Warning: Image at index 4602 has no bounding boxes. Skipping...Warning: Image at index 2656 has no bounding boxes. Skipping...
Warning: Image at index 1932 has no bounding boxes. Skipping...
Warning: Image at index 7700 has no bounding boxes. Skipping...Warning: Image at index 209 has no bounding boxes. Skipping...
Warning: Image at index 703 has no bounding boxes. Skipping...Warning: Image at index 1895 has no bounding boxes. Skipping...
Warning: Image at index 2754 has no bounding boxes. Skipping...Warning: Image at index 70 has no bounding boxes. Skipping...Warning: Image at index 5267 has no bounding boxes. Skipping...
Warning: Image at index 7985 has no bounding boxes. Skipping...
Warning: Image at index 1132 has no bounding boxes. Skipping...Warning: Image at index 7174 has no bounding boxes. Skipping...
Warning: Image at index 12 has no bounding boxes. Skipping...
Warning: Image at index 6991 has no bounding boxes. Skipping...
Warning: Image at index 1329 has no bounding boxes. Skipping...
Warning: Image at index 5549 has no bounding boxes. Skipping...Warning: Image at index 4915 has no bounding boxes. Skipping...
Warning: Image at index 3990 has no bounding boxes. Skipping...
Warning: Image at index 2440 has no bounding boxes. Skipping...Warning: Image at index 4732 has no bounding boxes. Skipping...
Warning: Image at index 7865 has no bounding boxes. Skipping...Warning: Image at index 1624 has no bounding boxes. Skipping...
Warning: Image at index 5783 has no bounding boxes. Skipping...
Warning: Image at index 1913 has no bounding boxes. Skipping...
Warning: Image at index 2502 has no bounding boxes. Skipping...Warning: Image at index 6176 has no bounding boxes. Skipping...
Warning: Image at index 4295 has no bounding boxes. Skipping...Warning: Image at index 2340 has no bounding boxes. Skipping...
Warning: Image at index 6781 has no bounding boxes. Skipping...
Warning: Image at index 1884 has no bounding boxes. Skipping...Warning: Image at index 7563 has no bounding boxes. Skipping...
Warning: Image at index 5441 has no bounding boxes. Skipping...
Warning: Image at index 2367 has no bounding boxes. Skipping...
Warning: Image at index 1056 has no bounding boxes. Skipping...
Warning: Image at index 4540 has no bounding boxes. Skipping...Warning: Image at index 801 has no bounding boxes. Skipping...Warning: Image at index 5534 has no bounding boxes. Skipping...
Warning: Image at index 3110 has no bounding boxes. Skipping...
Warning: Image at index 6529 has no bounding boxes. Skipping...Warning: Image at index 7874 has no bounding boxes. Skipping...Warning: Image at index 7870 has no bounding boxes. Skipping...
Warning: Image at index 5663 has no bounding boxes. Skipping...Warning: Image at index 1598 has no bounding boxes. Skipping...
Warning: Image at index 4131 has no bounding boxes. Skipping...Warning: Image at index 2832 has no bounding boxes. Skipping...
Warning: Image at index 3614 has no bounding boxes. Skipping...Warning: Image at index 2001 has no bounding boxes. Skipping...Warning: Image at index 4263 has no bounding boxes. Skipping...
Warning: Image at index 3562 has no bounding boxes. Skipping...
Warning: Image at index 7241 has no bounding boxes. Skipping...Warning: Image at index 4386 has no bounding boxes. Skipping...Warning: Image at index 3279 has no bounding boxes. Skipping...
Warning: Image at index 7626 has no bounding boxes. Skipping...
Warning: Image at index 2217 has no bounding boxes. Skipping...
Warning: Image at index 6557 has no bounding boxes. Skipping...
Warning: Image at index 3858 has no bounding boxes. Skipping...
Warning: Image at index 2459 has no bounding boxes. Skipping...
Warning: Image at index 4187 has no bounding boxes. Skipping...
Warning: Image at index 1440 has no bounding boxes. Skipping...Warning: Image at index 869 has no bounding boxes. Skipping...
Warning: Image at index 2283 has no bounding boxes. Skipping...Warning: Image at index 4436 has no bounding boxes. Skipping...
Warning: Image at index 461 has no bounding boxes. Skipping...
Warning: Image at index 985 has no bounding boxes. Skipping...Warning: Image at index 3237 has no bounding boxes. Skipping...
Warning: Image at index 4611 has no bounding boxes. Skipping...Warning: Image at index 6487 has no bounding boxes. Skipping...Warning: Image at index 3935 has no bounding boxes. Skipping...
Warning: Image at index 2482 has no bounding boxes. Skipping...
Warning: Image at index 1854 has no bounding boxes. Skipping...Warning: Image at index 4291 has no bounding boxes. Skipping...Warning: Image at index 1447 has no bounding boxes. Skipping...
Warning: Image at index 2738 has no bounding boxes. Skipping...
Warning: Image at index 5639 has no bounding boxes. Skipping...
Warning: Image at index 3472 has no bounding boxes. Skipping...
Warning: Image at index 1582 has no bounding boxes. Skipping...
Warning: Image at index 6346 has no bounding boxes. Skipping...Warning: Image at index 5750 has no bounding boxes. Skipping...
Warning: Image at index 5078 has no bounding boxes. Skipping...
Warning: Image at index 7535 has no bounding boxes. Skipping...Warning: Image at index 1049 has no bounding boxes. Skipping...Warning: Image at index 3544 has no bounding boxes. Skipping...
Warning: Image at index 3066 has no bounding boxes. Skipping...
Warning: Image at index 1804 has no bounding boxes. Skipping...Warning: Image at index 6576 has no bounding boxes. Skipping...
Warning: Image at index 2717 has no bounding boxes. Skipping...
Warning: Image at index 6474 has no bounding boxes. Skipping...Warning: Image at index 1909 has no bounding boxes. Skipping...Warning: Image at index 3087 has no bounding boxes. Skipping...
Warning: Image at index 2166 has no bounding boxes. Skipping...
Warning: Image at index 1997 has no bounding boxes. Skipping...Warning: Image at index 3608 has no bounding boxes. Skipping...
Warning: Image at index 1669 has no bounding boxes. Skipping...Warning: Image at index 5679 has no bounding boxes. Skipping...
Warning: Image at index 322 has no bounding boxes. Skipping...
Warning: Image at index 1352 has no bounding boxes. Skipping...
Warning: Image at index 3980 has no bounding boxes. Skipping...Warning: Image at index 7789 has no bounding boxes. Skipping...
Warning: Image at index 4341 has no bounding boxes. Skipping...
Warning: Image at index 754 has no bounding boxes. Skipping...Warning: Image at index 6873 has no bounding boxes. Skipping...
Warning: Image at index 4668 has no bounding boxes. Skipping...
Warning: Image at index 6565 has no bounding boxes. Skipping...
Warning: Image at index 2576 has no bounding boxes. Skipping...
Warning: Image at index 3305 has no bounding boxes. Skipping...
Warning: Image at index 6278 has no bounding boxes. Skipping...
Warning: Image at index 5185 has no bounding boxes. Skipping...
Warning: Image at index 3254 has no bounding boxes. Skipping...
Warning: Image at index 6198 has no bounding boxes. Skipping...
Warning: Image at index 2551 has no bounding boxes. Skipping...
Warning: Image at index 2445 has no bounding boxes. Skipping...
Warning: Image at index 3828 has no bounding boxes. Skipping...Warning: Image at index 4795 has no bounding boxes. Skipping...
Warning: Image at index 3691 has no bounding boxes. Skipping...Warning: Image at index 7637 has no bounding boxes. Skipping...
Warning: Image at index 1366 has no bounding boxes. Skipping...Warning: Image at index 7286 has no bounding boxes. Skipping...
Warning: Image at index 476 has no bounding boxes. Skipping...Warning: Image at index 441 has no bounding boxes. Skipping...
Warning: Image at index 1969 has no bounding boxes. Skipping...
Warning: Image at index 6902 has no bounding boxes. Skipping...Warning: Image at index 2668 has no bounding boxes. Skipping...
Warning: Image at index 5183 has no bounding boxes. Skipping...Warning: Image at index 5182 has no bounding boxes. Skipping...Warning: Image at index 6853 has no bounding boxes. Skipping...Warning: Image at index 7280 has no bounding boxes. Skipping...
Warning: Image at index 4558 has no bounding boxes. Skipping...Warning: Image at index 6424 has no bounding boxes. Skipping...
Warning: Image at index 3477 has no bounding boxes. Skipping...
Warning: Image at index 7907 has no bounding boxes. Skipping...
Warning: Image at index 329 has no bounding boxes. Skipping...
Warning: Image at index 5207 has no bounding boxes. Skipping...
Warning: Image at index 6383 has no bounding boxes. Skipping...Warning: Image at index 1994 has no bounding boxes. Skipping...
Warning: Image at index 1535 has no bounding boxes. Skipping...Warning: Image at index 6626 has no bounding boxes. Skipping...Warning: Image at index 4086 has no bounding boxes. Skipping...
Warning: Image at index 7964 has no bounding boxes. Skipping...
Warning: Image at index 4701 has no bounding boxes. Skipping...Warning: Image at index 76 has no bounding boxes. Skipping...
Warning: Image at index 8109 has no bounding boxes. Skipping...
Warning: Image at index 1386 has no bounding boxes. Skipping...
Warning: Image at index 8020 has no bounding boxes. Skipping...
Warning: Image at index 7184 has no bounding boxes. Skipping...
Warning: Image at index 6343 has no bounding boxes. Skipping...Warning: Image at index 6046 has no bounding boxes. Skipping...Warning: Image at index 959 has no bounding boxes. Skipping...
Warning: Image at index 4590 has no bounding boxes. Skipping...
Warning: Image at index 3382 has no bounding boxes. Skipping...Warning: Image at index 5761 has no bounding boxes. Skipping...
Warning: Image at index 1351 has no bounding boxes. Skipping...
Warning: Image at index 5896 has no bounding boxes. Skipping...Warning: Image at index 1453 has no bounding boxes. Skipping...
Warning: Image at index 382 has no bounding boxes. Skipping...Warning: Image at index 1158 has no bounding boxes. Skipping...
Warning: Image at index 2616 has no bounding boxes. Skipping...Warning: Image at index 7150 has no bounding boxes. Skipping...
Warning: Image at index 3973 has no bounding boxes. Skipping...
Warning: Image at index 5262 has no bounding boxes. Skipping...
Warning: Image at index 7879 has no bounding boxes. Skipping...Warning: Image at index 4864 has no bounding boxes. Skipping...
Warning: Image at index 2512 has no bounding boxes. Skipping...
Warning: Image at index 3365 has no bounding boxes. Skipping...Warning: Image at index 3332 has no bounding boxes. Skipping...
Warning: Image at index 1135 has no bounding boxes. Skipping...Warning: Image at index 764 has no bounding boxes. Skipping...
Warning: Image at index 5150 has no bounding boxes. Skipping...
Warning: Image at index 1962 has no bounding boxes. Skipping...Warning: Image at index 8194 has no bounding boxes. Skipping...
Warning: Image at index 130 has no bounding boxes. Skipping...
Warning: Image at index 3397 has no bounding boxes. Skipping...
Warning: Image at index 4281 has no bounding boxes. Skipping...
Warning: Image at index 6590 has no bounding boxes. Skipping...
Warning: Image at index 538 has no bounding boxes. Skipping...
Warning: Image at index 8256 has no bounding boxes. Skipping...
Warning: Image at index 6357 has no bounding boxes. Skipping...Warning: Image at index 3113 has no bounding boxes. Skipping...
Warning: Image at index 496 has no bounding boxes. Skipping...Warning: Image at index 3658 has no bounding boxes. Skipping...Warning: Image at index 1404 has no bounding boxes. Skipping...
Warning: Image at index 7682 has no bounding boxes. Skipping...Warning: Image at index 3392 has no bounding boxes. Skipping...
Warning: Image at index 240 has no bounding boxes. Skipping...
Warning: Image at index 5497 has no bounding boxes. Skipping...Warning: Image at index 6888 has no bounding boxes. Skipping...
Warning: Image at index 2912 has no bounding boxes. Skipping...
Warning: Image at index 2111 has no bounding boxes. Skipping...Warning: Image at index 4901 has no bounding boxes. Skipping...
Warning: Image at index 7735 has no bounding boxes. Skipping...Warning: Image at index 5270 has no bounding boxes. Skipping...Warning: Image at index 7269 has no bounding boxes. Skipping...
Warning: Image at index 2020 has no bounding boxes. Skipping...
Warning: Image at index 4003 has no bounding boxes. Skipping...
Warning: Image at index 5338 has no bounding boxes. Skipping...
Warning: Image at index 5026 has no bounding boxes. Skipping...
Warning: Image at index 5310 has no bounding boxes. Skipping...
Warning: Image at index 987 has no bounding boxes. Skipping...Warning: Image at index 4805 has no bounding boxes. Skipping...
Warning: Image at index 7607 has no bounding boxes. Skipping...
Warning: Image at index 5378 has no bounding boxes. Skipping...
Warning: Image at index 3957 has no bounding boxes. Skipping...Warning: Image at index 6443 has no bounding boxes. Skipping...
Warning: Image at index 706 has no bounding boxes. Skipping...
Warning: Image at index 2425 has no bounding boxes. Skipping...
Warning: Image at index 2150 has no bounding boxes. Skipping...
Warning: Image at index 5048 has no bounding boxes. Skipping...Warning: Image at index 7944 has no bounding boxes. Skipping...Warning: Image at index 749 has no bounding boxes. Skipping...
Warning: Image at index 6901 has no bounding boxes. Skipping...
Warning: Image at index 4605 has no bounding boxes. Skipping...
Warning: Image at index 2858 has no bounding boxes. Skipping...
Warning: Image at index 5984 has no bounding boxes. Skipping...
Warning: Image at index 1996 has no bounding boxes. Skipping...
Warning: Image at index 7096 has no bounding boxes. Skipping...
Warning: Image at index 5187 has no bounding boxes. Skipping...Warning: Image at index 1886 has no bounding boxes. Skipping...
Warning: Image at index 4049 has no bounding boxes. Skipping...Warning: Image at index 3723 has no bounding boxes. Skipping...
Warning: Image at index 90 has no bounding boxes. Skipping...
Warning: Image at index 7238 has no bounding boxes. Skipping...
Warning: Image at index 3380 has no bounding boxes. Skipping...
Warning: Image at index 3936 has no bounding boxes. Skipping...
Warning: Image at index 8088 has no bounding boxes. Skipping...Warning: Image at index 4103 has no bounding boxes. Skipping...
Warning: Image at index 2932 has no bounding boxes. Skipping...Warning: Image at index 6972 has no bounding boxes. Skipping...
Warning: Image at index 629 has no bounding boxes. Skipping...Warning: Image at index 6353 has no bounding boxes. Skipping...
Warning: Image at index 7313 has no bounding boxes. Skipping...
Warning: Image at index 838 has no bounding boxes. Skipping...Warning: Image at index 168 has no bounding boxes. Skipping...
Warning: Image at index 5895 has no bounding boxes. Skipping...Warning: Image at index 6455 has no bounding boxes. Skipping...
Warning: Image at index 1901 has no bounding boxes. Skipping...
Warning: Image at index 2784 has no bounding boxes. Skipping...
Warning: Image at index 4706 has no bounding boxes. Skipping...
Warning: Image at index 3445 has no bounding boxes. Skipping...
Warning: Image at index 3570 has no bounding boxes. Skipping...Warning: Image at index 3408 has no bounding boxes. Skipping...
Warning: Image at index 6592 has no bounding boxes. Skipping...Warning: Image at index 4053 has no bounding boxes. Skipping...
Warning: Image at index 4850 has no bounding boxes. Skipping...Warning: Image at index 1484 has no bounding boxes. Skipping...
Warning: Image at index 1410 has no bounding boxes. Skipping...
Warning: Image at index 6437 has no bounding boxes. Skipping...
Warning: Image at index 2614 has no bounding boxes. Skipping...Warning: Image at index 3416 has no bounding boxes. Skipping...Warning: Image at index 7916 has no bounding boxes. Skipping...
Warning: Image at index 172 has no bounding boxes. Skipping...
Warning: Image at index 5259 has no bounding boxes. Skipping...
Warning: Image at index 7299 has no bounding boxes. Skipping...Warning: Image at index 5674 has no bounding boxes. Skipping...
Warning: Image at index 2148 has no bounding boxes. Skipping...
Warning: Image at index 5753 has no bounding boxes. Skipping...Warning: Image at index 4666 has no bounding boxes. Skipping...Warning: Image at index 2219 has no bounding boxes. Skipping...
Warning: Image at index 1333 has no bounding boxes. Skipping...Warning: Image at index 3798 has no bounding boxes. Skipping...
Warning: Image at index 739 has no bounding boxes. Skipping...Warning: Image at index 1709 has no bounding boxes. Skipping...Warning: Image at index 449 has no bounding boxes. Skipping...
Warning: Image at index 152 has no bounding boxes. Skipping...
Warning: Image at index 2800 has no bounding boxes. Skipping...
Warning: Image at index 4220 has no bounding boxes. Skipping...Warning: Image at index 5510 has no bounding boxes. Skipping...
Warning: Image at index 178 has no bounding boxes. Skipping...Warning: Image at index 7113 has no bounding boxes. Skipping...
Warning: Image at index 6715 has no bounding boxes. Skipping...Warning: Image at index 4343 has no bounding boxes. Skipping...
Warning: Image at index 5336 has no bounding boxes. Skipping...Warning: Image at index 3653 has no bounding boxes. Skipping...
Warning: Image at index 675 has no bounding boxes. Skipping...Warning: Image at index 8246 has no bounding boxes. Skipping...
Warning: Image at index 6033 has no bounding boxes. Skipping...Warning: Image at index 5797 has no bounding boxes. Skipping...
Warning: Image at index 1919 has no bounding boxes. Skipping...
Warning: Image at index 2939 has no bounding boxes. Skipping...
Warning: Image at index 7669 has no bounding boxes. Skipping...
Warning: Image at index 2089 has no bounding boxes. Skipping...
Warning: Image at index 8058 has no bounding boxes. Skipping...
Warning: Image at index 6285 has no bounding boxes. Skipping...
Warning: Image at index 997 has no bounding boxes. Skipping...
Warning: Image at index 3528 has no bounding boxes. Skipping...
Warning: Image at index 7405 has no bounding boxes. Skipping...Warning: Image at index 1861 has no bounding boxes. Skipping...
Warning: Image at index 8083 has no bounding boxes. Skipping...
Warning: Image at index 5227 has no bounding boxes. Skipping...
Warning: Image at index 3106 has no bounding boxes. Skipping...Warning: Image at index 5553 has no bounding boxes. Skipping...
Warning: Image at index 4820 has no bounding boxes. Skipping...
Warning: Image at index 6724 has no bounding boxes. Skipping...
Warning: Image at index 6875 has no bounding boxes. Skipping...
Warning: Image at index 599 has no bounding boxes. Skipping...
Warning: Image at index 4746 has no bounding boxes. Skipping...
Warning: Image at index 6151 has no bounding boxes. Skipping...
Warning: Image at index 858 has no bounding boxes. Skipping...Warning: Image at index 6950 has no bounding boxes. Skipping...
Warning: Image at index 557 has no bounding boxes. Skipping...
Warning: Image at index 3997 has no bounding boxes. Skipping...
Warning: Image at index 3337 has no bounding boxes. Skipping...
Warning: Image at index 1331 has no bounding boxes. Skipping...
Warning: Image at index 993 has no bounding boxes. Skipping...
Warning: Image at index 2007 has no bounding boxes. Skipping...Warning: Image at index 3442 has no bounding boxes. Skipping...Warning: Image at index 8202 has no bounding boxes. Skipping...
Warning: Image at index 2675 has no bounding boxes. Skipping...
Warning: Image at index 1750 has no bounding boxes. Skipping...Warning: Image at index 6 has no bounding boxes. Skipping...
Warning: Image at index 5749 has no bounding boxes. Skipping...Warning: Image at index 4802 has no bounding boxes. Skipping...Warning: Image at index 3293 has no bounding boxes. Skipping...
Warning: Image at index 2433 has no bounding boxes. Skipping...
Warning: Image at index 5719 has no bounding boxes. Skipping...
Warning: Image at index 3504 has no bounding boxes. Skipping...Warning: Image at index 5032 has no bounding boxes. Skipping...
Warning: Image at index 4858 has no bounding boxes. Skipping...Warning: Image at index 7707 has no bounding boxes. Skipping...
Warning: Image at index 1618 has no bounding boxes. Skipping...
Warning: Image at index 7779 has no bounding boxes. Skipping...
Warning: Image at index 7754 has no bounding boxes. Skipping...Warning: Image at index 1125 has no bounding boxes. Skipping...
Warning: Image at index 7147 has no bounding boxes. Skipping...
Warning: Image at index 2873 has no bounding boxes. Skipping...
Warning: Image at index 1141 has no bounding boxes. Skipping...Warning: Image at index 8071 has no bounding boxes. Skipping...
Warning: Image at index 854 has no bounding boxes. Skipping...
Warning: Image at index 6810 has no bounding boxes. Skipping...
Warning: Image at index 4126 has no bounding boxes. Skipping...
Warning: Image at index 2269 has no bounding boxes. Skipping...Warning: Image at index 2195 has no bounding boxes. Skipping...
Warning: Image at index 941 has no bounding boxes. Skipping...
Warning: Image at index 8095 has no bounding boxes. Skipping...
Warning: Image at index 8160 has no bounding boxes. Skipping...
Warning: Image at index 3882 has no bounding boxes. Skipping...
Warning: Image at index 4855 has no bounding boxes. Skipping...
Warning: Image at index 2325 has no bounding boxes. Skipping...Warning: Image at index 7614 has no bounding boxes. Skipping...
Warning: Image at index 1203 has no bounding boxes. Skipping...
Warning: Image at index 2681 has no bounding boxes. Skipping...
Warning: Image at index 4809 has no bounding boxes. Skipping...Warning: Image at index 2829 has no bounding boxes. Skipping...
Warning: Image at index 6899 has no bounding boxes. Skipping...
Warning: Image at index 5828 has no bounding boxes. Skipping...Warning: Image at index 1151 has no bounding boxes. Skipping...Warning: Image at index 5662 has no bounding boxes. Skipping...Warning: Image at index 4235 has no bounding boxes. Skipping...
Warning: Image at index 2756 has no bounding boxes. Skipping...Warning: Image at index 4556 has no bounding boxes. Skipping...
Warning: Image at index 418 has no bounding boxes. Skipping...Warning: Image at index 1262 has no bounding boxes. Skipping...
Warning: Image at index 7006 has no bounding boxes. Skipping...
Warning: Image at index 4176 has no bounding boxes. Skipping...
Warning: Image at index 8231 has no bounding boxes. Skipping...Warning: Image at index 843 has no bounding boxes. Skipping...
Warning: Image at index 6272 has no bounding boxes. Skipping...
Warning: Image at index 1868 has no bounding boxes. Skipping...Warning: Image at index 856 has no bounding boxes. Skipping...
Warning: Image at index 1605 has no bounding boxes. Skipping...Warning: Image at index 5463 has no bounding boxes. Skipping...
Warning: Image at index 2966 has no bounding boxes. Skipping...Warning: Image at index 2937 has no bounding boxes. Skipping...
Warning: Image at index 6384 has no bounding boxes. Skipping...Warning: Image at index 4423 has no bounding boxes. Skipping...Warning: Image at index 6797 has no bounding boxes. Skipping...
Warning: Image at index 3861 has no bounding boxes. Skipping...
Warning: Image at index 8069 has no bounding boxes. Skipping...Warning: Image at index 1498 has no bounding boxes. Skipping...Warning: Image at index 8051 has no bounding boxes. Skipping...
Warning: Image at index 1402 has no bounding boxes. Skipping...
Warning: Image at index 301 has no bounding boxes. Skipping...Warning: Image at index 1358 has no bounding boxes. Skipping...
Warning: Image at index 7526 has no bounding boxes. Skipping...
Warning: Image at index 7122 has no bounding boxes. Skipping...
Warning: Image at index 3505 has no bounding boxes. Skipping...
Warning: Image at index 93 has no bounding boxes. Skipping...
Warning: Image at index 7784 has no bounding boxes. Skipping...
Warning: Image at index 2335 has no bounding boxes. Skipping...Warning: Image at index 1825 has no bounding boxes. Skipping...
Warning: Image at index 2287 has no bounding boxes. Skipping...
Warning: Image at index 743 has no bounding boxes. Skipping...
Warning: Image at index 6387 has no bounding boxes. Skipping...Warning: Image at index 688 has no bounding boxes. Skipping...
Warning: Image at index 5591 has no bounding boxes. Skipping...Warning: Image at index 7911 has no bounding boxes. Skipping...Warning: Image at index 3353 has no bounding boxes. Skipping...
Warning: Image at index 5613 has no bounding boxes. Skipping...
Warning: Image at index 3058 has no bounding boxes. Skipping...Warning: Image at index 1443 has no bounding boxes. Skipping...
Warning: Image at index 4719 has no bounding boxes. Skipping...
Warning: Image at index 4532 has no bounding boxes. Skipping...
Warning: Image at index 5342 has no bounding boxes. Skipping...
Warning: Image at index 7243 has no bounding boxes. Skipping...
Warning: Image at index 361 has no bounding boxes. Skipping...Warning: Image at index 4373 has no bounding boxes. Skipping...
Warning: Image at index 5619 has no bounding boxes. Skipping...
Warning: Image at index 3629 has no bounding boxes. Skipping...
Warning: Image at index 294 has no bounding boxes. Skipping...
Warning: Image at index 4838 has no bounding boxes. Skipping...
Warning: Image at index 7254 has no bounding boxes. Skipping...
Warning: Image at index 7539 has no bounding boxes. Skipping...
Warning: Image at index 6414 has no bounding boxes. Skipping...
Warning: Image at index 6955 has no bounding boxes. Skipping...Warning: Image at index 7065 has no bounding boxes. Skipping...
Warning: Image at index 6537 has no bounding boxes. Skipping...
Warning: Image at index 6599 has no bounding boxes. Skipping...Warning: Image at index 6604 has no bounding boxes. Skipping...Warning: Image at index 3901 has no bounding boxes. Skipping...
Warning: Image at index 5328 has no bounding boxes. Skipping...Warning: Image at index 5379 has no bounding boxes. Skipping...
Warning: Image at index 4997 has no bounding boxes. Skipping...Warning: Image at index 8062 has no bounding boxes. Skipping...
Warning: Image at index 4607 has no bounding boxes. Skipping...
Warning: Image at index 2056 has no bounding boxes. Skipping...Warning: Image at index 6064 has no bounding boxes. Skipping...
Warning: Image at index 307 has no bounding boxes. Skipping...
Warning: Image at index 6933 has no bounding boxes. Skipping...
Warning: Image at index 2683 has no bounding boxes. Skipping...
Warning: Image at index 3644 has no bounding boxes. Skipping...
Warning: Image at index 4509 has no bounding boxes. Skipping...
Warning: Image at index 6828 has no bounding boxes. Skipping...
Warning: Image at index 458 has no bounding boxes. Skipping...
Warning: Image at index 7131 has no bounding boxes. Skipping...
Warning: Image at index 1278 has no bounding boxes. Skipping...Warning: Image at index 1327 has no bounding boxes. Skipping...Warning: Image at index 7846 has no bounding boxes. Skipping...
Warning: Image at index 4480 has no bounding boxes. Skipping...Warning: Image at index 4537 has no bounding boxes. Skipping...
Warning: Image at index 4987 has no bounding boxes. Skipping...
Warning: Image at index 2905 has no bounding boxes. Skipping...
Warning: Image at index 3781 has no bounding boxes. Skipping...Warning: Image at index 212 has no bounding boxes. Skipping...
Warning: Image at index 2497 has no bounding boxes. Skipping...Warning: Image at index 547 has no bounding boxes. Skipping...
Warning: Image at index 3849 has no bounding boxes. Skipping...Warning: Image at index 2753 has no bounding boxes. Skipping...
Warning: Image at index 132 has no bounding boxes. Skipping...Warning: Image at index 7958 has no bounding boxes. Skipping...
Warning: Image at index 6286 has no bounding boxes. Skipping...
Warning: Image at index 6238 has no bounding boxes. Skipping...Warning: Image at index 1746 has no bounding boxes. Skipping...
Warning: Image at index 8197 has no bounding boxes. Skipping...
Warning: Image at index 4114 has no bounding boxes. Skipping...Warning: Image at index 1505 has no bounding boxes. Skipping...
Warning: Image at index 50 has no bounding boxes. Skipping...Warning: Image at index 6366 has no bounding boxes. Skipping...
Warning: Image at index 4420 has no bounding boxes. Skipping...Warning: Image at index 5092 has no bounding boxes. Skipping...
Warning: Image at index 5057 has no bounding boxes. Skipping...Warning: Image at index 7971 has no bounding boxes. Skipping...Warning: Image at index 4772 has no bounding boxes. Skipping...
Warning: Image at index 3005 has no bounding boxes. Skipping...
Warning: Image at index 6110 has no bounding boxes. Skipping...Warning: Image at index 4333 has no bounding boxes. Skipping...
Warning: Image at index 8265 has no bounding boxes. Skipping...Warning: Image at index 6063 has no bounding boxes. Skipping...
Warning: Image at index 2767 has no bounding boxes. Skipping...Warning: Image at index 6536 has no bounding boxes. Skipping...Warning: Image at index 2575 has no bounding boxes. Skipping...
Warning: Image at index 4451 has no bounding boxes. Skipping...
Warning: Image at index 5440 has no bounding boxes. Skipping...Warning: Image at index 6370 has no bounding boxes. Skipping...
Warning: Image at index 6315 has no bounding boxes. Skipping...
Warning: Image at index 6121 has no bounding boxes. Skipping...
Warning: Image at index 3471 has no bounding boxes. Skipping...Warning: Image at index 1672 has no bounding boxes. Skipping...
Warning: Image at index 7274 has no bounding boxes. Skipping...
Warning: Image at index 1235 has no bounding boxes. Skipping...Warning: Image at index 6894 has no bounding boxes. Skipping...
Warning: Image at index 1467 has no bounding boxes. Skipping...Warning: Image at index 6738 has no bounding boxes. Skipping...Warning: Image at index 6531 has no bounding boxes. Skipping...
Warning: Image at index 2849 has no bounding boxes. Skipping...
Warning: Image at index 4969 has no bounding boxes. Skipping...Warning: Image at index 6041 has no bounding boxes. Skipping...Warning: Image at index 5060 has no bounding boxes. Skipping...
Warning: Image at index 6731 has no bounding boxes. Skipping...
Warning: Image at index 3359 has no bounding boxes. Skipping...Warning: Image at index 7837 has no bounding boxes. Skipping...
Warning: Image at index 3234 has no bounding boxes. Skipping...Warning: Image at index 7684 has no bounding boxes. Skipping...
Warning: Image at index 583 has no bounding boxes. Skipping...Warning: Image at index 7346 has no bounding boxes. Skipping...
Warning: Image at index 6264 has no bounding boxes. Skipping...
Warning: Image at index 4657 has no bounding boxes. Skipping...
Warning: Image at index 844 has no bounding boxes. Skipping...Warning: Image at index 6005 has no bounding boxes. Skipping...
Warning: Image at index 387 has no bounding boxes. Skipping...Warning: Image at index 925 has no bounding boxes. Skipping...
Warning: Image at index 3979 has no bounding boxes. Skipping...
Warning: Image at index 7850 has no bounding boxes. Skipping...
Warning: Image at index 3870 has no bounding boxes. Skipping...
Warning: Image at index 3025 has no bounding boxes. Skipping...
Warning: Image at index 1449 has no bounding boxes. Skipping...
Warning: Image at index 3132 has no bounding boxes. Skipping...
Warning: Image at index 5943 has no bounding boxes. Skipping...Warning: Image at index 612 has no bounding boxes. Skipping...
Warning: Image at index 2792 has no bounding boxes. Skipping...Warning: Image at index 3082 has no bounding boxes. Skipping...
Warning: Image at index 2173 has no bounding boxes. Skipping...Warning: Image at index 6647 has no bounding boxes. Skipping...
Warning: Image at index 3029 has no bounding boxes. Skipping...Warning: Image at index 7738 has no bounding boxes. Skipping...
Warning: Image at index 6157 has no bounding boxes. Skipping...
Warning: Image at index 2248 has no bounding boxes. Skipping...
Warning: Image at index 7819 has no bounding boxes. Skipping...
Warning: Image at index 5533 has no bounding boxes. Skipping...Warning: Image at index 2698 has no bounding boxes. Skipping...
Warning: Image at index 4359 has no bounding boxes. Skipping...
Warning: Image at index 1030 has no bounding boxes. Skipping...
Warning: Image at index 1245 has no bounding boxes. Skipping...Warning: Image at index 4579 has no bounding boxes. Skipping...Warning: Image at index 5107 has no bounding boxes. Skipping...
Warning: Image at index 4195 has no bounding boxes. Skipping...
Warning: Image at index 7774 has no bounding boxes. Skipping...Warning: Image at index 1070 has no bounding boxes. Skipping...
Warning: Image at index 119 has no bounding boxes. Skipping...
Warning: Image at index 2036 has no bounding boxes. Skipping...Warning: Image at index 6800 has no bounding boxes. Skipping...Warning: Image at index 7658 has no bounding boxes. Skipping...
Warning: Image at index 4282 has no bounding boxes. Skipping...
Warning: Image at index 7041 has no bounding boxes. Skipping...
Warning: Image at index 7642 has no bounding boxes. Skipping...
Warning: Image at index 6563 has no bounding boxes. Skipping...
Warning: Image at index 7399 has no bounding boxes. Skipping...
Warning: Image at index 3609 has no bounding boxes. Skipping...Warning: Image at index 5143 has no bounding boxes. Skipping...
Warning: Image at index 1287 has no bounding boxes. Skipping...
Warning: Image at index 8244 has no bounding boxes. Skipping...Warning: Image at index 8097 has no bounding boxes. Skipping...
Warning: Image at index 8131 has no bounding boxes. Skipping...
Warning: Image at index 1155 has no bounding boxes. Skipping...
Warning: Image at index 8218 has no bounding boxes. Skipping...Warning: Image at index 4877 has no bounding boxes. Skipping...
Warning: Image at index 4289 has no bounding boxes. Skipping...Warning: Image at index 5631 has no bounding boxes. Skipping...
Warning: Image at index 7618 has no bounding boxes. Skipping...Warning: Image at index 7226 has no bounding boxes. Skipping...
Warning: Image at index 4123 has no bounding boxes. Skipping...Warning: Image at index 5355 has no bounding boxes. Skipping...
Warning: Image at index 2097 has no bounding boxes. Skipping...
Warning: Image at index 1993 has no bounding boxes. Skipping...Warning: Image at index 3572 has no bounding boxes. Skipping...Warning: Image at index 3537 has no bounding boxes. Skipping...
Warning: Image at index 608 has no bounding boxes. Skipping...
Warning: Image at index 6381 has no bounding boxes. Skipping...Warning: Image at index 4972 has no bounding boxes. Skipping...
Warning: Image at index 1072 has no bounding boxes. Skipping...
Warning: Image at index 4872 has no bounding boxes. Skipping...Warning: Image at index 1893 has no bounding boxes. Skipping...
Warning: Image at index 6753 has no bounding boxes. Skipping...
Warning: Image at index 7838 has no bounding boxes. Skipping...Warning: Image at index 3835 has no bounding boxes. Skipping...Warning: Image at index 2522 has no bounding boxes. Skipping...
Warning: Image at index 5120 has no bounding boxes. Skipping...
Warning: Image at index 7829 has no bounding boxes. Skipping...Warning: Image at index 1957 has no bounding boxes. Skipping...
Warning: Image at index 3956 has no bounding boxes. Skipping...
Warning: Image at index 7610 has no bounding boxes. Skipping...Warning: Image at index 3263 has no bounding boxes. Skipping...
Warning: Image at index 5258 has no bounding boxes. Skipping...Warning: Image at index 5562 has no bounding boxes. Skipping...Warning: Image at index 300 has no bounding boxes. Skipping...
Warning: Image at index 5257 has no bounding boxes. Skipping...
Warning: Image at index 7931 has no bounding boxes. Skipping...
Warning: Image at index 5535 has no bounding boxes. Skipping...Warning: Image at index 551 has no bounding boxes. Skipping...
Warning: Image at index 3393 has no bounding boxes. Skipping...
Warning: Image at index 6519 has no bounding boxes. Skipping...Warning: Image at index 7363 has no bounding boxes. Skipping...
Warning: Image at index 113 has no bounding boxes. Skipping...
Warning: Image at index 5833 has no bounding boxes. Skipping...
Warning: Image at index 7556 has no bounding boxes. Skipping...Warning: Image at index 5343 has no bounding boxes. Skipping...
Warning: Image at index 2919 has no bounding boxes. Skipping...
Warning: Image at index 7844 has no bounding boxes. Skipping...
Warning: Image at index 5119 has no bounding boxes. Skipping...
Warning: Image at index 7646 has no bounding boxes. Skipping...
Warning: Image at index 6885 has no bounding boxes. Skipping...Warning: Image at index 7935 has no bounding boxes. Skipping...
Warning: Image at index 1083 has no bounding boxes. Skipping...Warning: Image at index 2069 has no bounding boxes. Skipping...
Warning: Image at index 7922 has no bounding boxes. Skipping...
Warning: Image at index 4226 has no bounding boxes. Skipping...Warning: Image at index 7788 has no bounding boxes. Skipping...
Warning: Image at index 6859 has no bounding boxes. Skipping...
Warning: Image at index 7162 has no bounding boxes. Skipping...
Warning: Image at index 1117 has no bounding boxes. Skipping...
Warning: Image at index 1310 has no bounding boxes. Skipping...
Warning: Image at index 2814 has no bounding boxes. Skipping...
Warning: Image at index 4818 has no bounding boxes. Skipping...
Warning: Image at index 1427 has no bounding boxes. Skipping...Warning: Image at index 422 has no bounding boxes. Skipping...
Warning: Image at index 4308 has no bounding boxes. Skipping...
Warning: Image at index 1360 has no bounding boxes. Skipping...
Warning: Image at index 7098 has no bounding boxes. Skipping...Warning: Image at index 6011 has no bounding boxes. Skipping...
Warning: Image at index 8183 has no bounding boxes. Skipping...
Warning: Image at index 4983 has no bounding boxes. Skipping...
Warning: Image at index 6840 has no bounding boxes. Skipping...
Warning: Image at index 1081 has no bounding boxes. Skipping...
Warning: Image at index 4686 has no bounding boxes. Skipping...Warning: Image at index 2961 has no bounding boxes. Skipping...
Warning: Image at index 7095 has no bounding boxes. Skipping...
Warning: Image at index 656 has no bounding boxes. Skipping...
Warning: Image at index 6209 has no bounding boxes. Skipping...Warning: Image at index 4743 has no bounding boxes. Skipping...
Warning: Image at index 1918 has no bounding boxes. Skipping...Warning: Image at index 3024 has no bounding boxes. Skipping...
Warning: Image at index 4284 has no bounding boxes. Skipping...Warning: Image at index 1303 has no bounding boxes. Skipping...Warning: Image at index 744 has no bounding boxes. Skipping...
Warning: Image at index 7600 has no bounding boxes. Skipping...Warning: Image at index 3450 has no bounding boxes. Skipping...
Warning: Image at index 576 has no bounding boxes. Skipping...
Warning: Image at index 6896 has no bounding boxes. Skipping...
Warning: Image at index 3188 has no bounding boxes. Skipping...
Warning: Image at index 6178 has no bounding boxes. Skipping...Warning: Image at index 295 has no bounding boxes. Skipping...
Warning: Image at index 1100 has no bounding boxes. Skipping...
Warning: Image at index 3611 has no bounding boxes. Skipping...
Warning: Image at index 7402 has no bounding boxes. Skipping...
Warning: Image at index 1519 has no bounding boxes. Skipping...Warning: Image at index 652 has no bounding boxes. Skipping...
Warning: Image at index 5416 has no bounding boxes. Skipping...Warning: Image at index 5236 has no bounding boxes. Skipping...
Warning: Image at index 6778 has no bounding boxes. Skipping...
Warning: Image at index 5698 has no bounding boxes. Skipping...
Warning: Image at index 7181 has no bounding boxes. Skipping...Warning: Image at index 3785 has no bounding boxes. Skipping...Warning: Image at index 5503 has no bounding boxes. Skipping...
Warning: Image at index 6582 has no bounding boxes. Skipping...
Warning: Image at index 1968 has no bounding boxes. Skipping...
Warning: Image at index 2026 has no bounding boxes. Skipping...
Warning: Image at index 5904 has no bounding boxes. Skipping...
Warning: Image at index 247 has no bounding boxes. Skipping...Warning: Image at index 4627 has no bounding boxes. Skipping...
Warning: Image at index 1436 has no bounding boxes. Skipping...Warning: Image at index 330 has no bounding boxes. Skipping...
Warning: Image at index 6680 has no bounding boxes. Skipping...
Warning: Image at index 469 has no bounding boxes. Skipping...
Warning: Image at index 3185 has no bounding boxes. Skipping...Warning: Image at index 6843 has no bounding boxes. Skipping...
Warning: Image at index 4813 has no bounding boxes. Skipping...Warning: Image at index 6533 has no bounding boxes. Skipping...
Warning: Image at index 4584 has no bounding boxes. Skipping...Warning: Image at index 1239 has no bounding boxes. Skipping...Warning: Image at index 2153 has no bounding boxes. Skipping...
Warning: Image at index 8050 has no bounding boxes. Skipping...
Warning: Image at index 1094 has no bounding boxes. Skipping...
Warning: Image at index 2418 has no bounding boxes. Skipping...
Warning: Image at index 1469 has no bounding boxes. Skipping...
Warning: Image at index 6961 has no bounding boxes. Skipping...
Warning: Image at index 1257 has no bounding boxes. Skipping...
Warning: Image at index 6142 has no bounding boxes. Skipping...Warning: Image at index 6574 has no bounding boxes. Skipping...
Warning: Image at index 5486 has no bounding boxes. Skipping...
Warning: Image at index 3704 has no bounding boxes. Skipping...
Warning: Image at index 7425 has no bounding boxes. Skipping...
Warning: Image at index 1101 has no bounding boxes. Skipping...
Warning: Image at index 2053 has no bounding boxes. Skipping...Warning: Image at index 7069 has no bounding boxes. Skipping...
Warning: Image at index 8084 has no bounding boxes. Skipping...
Warning: Image at index 2665 has no bounding boxes. Skipping...
Warning: Image at index 4690 has no bounding boxes. Skipping...
Warning: Image at index 7722 has no bounding boxes. Skipping...
Warning: Image at index 6953 has no bounding boxes. Skipping...Warning: Image at index 7175 has no bounding boxes. Skipping...
Warning: Image at index 4879 has no bounding boxes. Skipping...Warning: Image at index 57 has no bounding boxes. Skipping...Warning: Image at index 7231 has no bounding boxes. Skipping...
Warning: Image at index 4142 has no bounding boxes. Skipping...Warning: Image at index 3210 has no bounding boxes. Skipping...
Warning: Image at index 1439 has no bounding boxes. Skipping...
Warning: Image at index 4161 has no bounding boxes. Skipping...
Warning: Image at index 3048 has no bounding boxes. Skipping...
Warning: Image at index 7294 has no bounding boxes. Skipping...Warning: Image at index 3852 has no bounding boxes. Skipping...
Warning: Image at index 7128 has no bounding boxes. Skipping...Warning: Image at index 2817 has no bounding boxes. Skipping...Warning: Image at index 6204 has no bounding boxes. Skipping...
Warning: Image at index 6036 has no bounding boxes. Skipping...
Warning: Image at index 3949 has no bounding boxes. Skipping...
Warning: Image at index 8003 has no bounding boxes. Skipping...Warning: Image at index 6098 has no bounding boxes. Skipping...Warning: Image at index 7720 has no bounding boxes. Skipping...
Warning: Image at index 43 has no bounding boxes. Skipping...Warning: Image at index 1107 has no bounding boxes. Skipping...
Warning: Image at index 1007 has no bounding boxes. Skipping...
Warning: Image at index 3099 has no bounding boxes. Skipping...
Warning: Image at index 5411 has no bounding boxes. Skipping...
Warning: Image at index 1643 has no bounding boxes. Skipping...
Warning: Image at index 6051 has no bounding boxes. Skipping...Warning: Image at index 5718 has no bounding boxes. Skipping...
Warning: Image at index 1844 has no bounding boxes. Skipping...
Warning: Image at index 5454 has no bounding boxes. Skipping...Warning: Image at index 1794 has no bounding boxes. Skipping...
Warning: Image at index 1823 has no bounding boxes. Skipping...
Warning: Image at index 4505 has no bounding boxes. Skipping...Warning: Image at index 7307 has no bounding boxes. Skipping...
Warning: Image at index 1292 has no bounding boxes. Skipping...
Warning: Image at index 6798 has no bounding boxes. Skipping...Warning: Image at index 5884 has no bounding boxes. Skipping...
Warning: Image at index 4365 has no bounding boxes. Skipping...
Warning: Image at index 8156 has no bounding boxes. Skipping...Warning: Image at index 6694 has no bounding boxes. Skipping...
Warning: Image at index 2995 has no bounding boxes. Skipping...
Warning: Image at index 2423 has no bounding boxes. Skipping...
Warning: Image at index 4557 has no bounding boxes. Skipping...
Warning: Image at index 5157 has no bounding boxes. Skipping...
Warning: Image at index 3179 has no bounding boxes. Skipping...Warning: Image at index 5311 has no bounding boxes. Skipping...
Warning: Image at index 6107 has no bounding boxes. Skipping...
Warning: Image at index 4110 has no bounding boxes. Skipping...
Warning: Image at index 520 has no bounding boxes. Skipping...
Warning: Image at index 2212 has no bounding boxes. Skipping...Warning: Image at index 4444 has no bounding boxes. Skipping...
Warning: Image at index 1379 has no bounding boxes. Skipping...Warning: Image at index 6834 has no bounding boxes. Skipping...
Warning: Image at index 147 has no bounding boxes. Skipping...
Warning: Image at index 2783 has no bounding boxes. Skipping...Warning: Image at index 6841 has no bounding boxes. Skipping...Warning: Image at index 5298 has no bounding boxes. Skipping...
Warning: Image at index 1425 has no bounding boxes. Skipping...
Warning: Image at index 5159 has no bounding boxes. Skipping...Warning: Image at index 8163 has no bounding boxes. Skipping...
Warning: Image at index 3361 has no bounding boxes. Skipping...
Warning: Image at index 5242 has no bounding boxes. Skipping...Warning: Image at index 6065 has no bounding boxes. Skipping...Warning: Image at index 7717 has no bounding boxes. Skipping...
Warning: Image at index 7392 has no bounding boxes. Skipping...
Warning: Image at index 2467 has no bounding boxes. Skipping...Warning: Image at index 1551 has no bounding boxes. Skipping...
Warning: Image at index 8116 has no bounding boxes. Skipping...Warning: Image at index 5645 has no bounding boxes. Skipping...
Warning: Image at index 1694 has no bounding boxes. Skipping...
Warning: Image at index 67 has no bounding boxes. Skipping...Warning: Image at index 746 has no bounding boxes. Skipping...
Warning: Image at index 1382 has no bounding boxes. Skipping...Warning: Image at index 3895 has no bounding boxes. Skipping...
Warning: Image at index 6842 has no bounding boxes. Skipping...
Warning: Image at index 2493 has no bounding boxes. Skipping...
Warning: Image at index 2525 has no bounding boxes. Skipping...
Warning: Image at index 5381 has no bounding boxes. Skipping...Warning: Image at index 5471 has no bounding boxes. Skipping...
Warning: Image at index 7094 has no bounding boxes. Skipping...
Warning: Image at index 6962 has no bounding boxes. Skipping...Warning: Image at index 809 has no bounding boxes. Skipping...
Warning: Image at index 6763 has no bounding boxes. Skipping...
Warning: Image at index 1619 has no bounding boxes. Skipping...
Warning: Image at index 1759 has no bounding boxes. Skipping...
Warning: Image at index 2554 has no bounding boxes. Skipping...
Warning: Image at index 7477 has no bounding boxes. Skipping...
Warning: Image at index 5677 has no bounding boxes. Skipping...Warning: Image at index 4009 has no bounding boxes. Skipping...
Warning: Image at index 3051 has no bounding boxes. Skipping...
Warning: Image at index 3198 has no bounding boxes. Skipping...
Warning: Image at index 1880 has no bounding boxes. Skipping...Warning: Image at index 1062 has no bounding boxes. Skipping...Warning: Image at index 4153 has no bounding boxes. Skipping...
Warning: Image at index 1259 has no bounding boxes. Skipping...
Warning: Image at index 1639 has no bounding boxes. Skipping...
Warning: Image at index 4525 has no bounding boxes. Skipping...
Warning: Image at index 6478 has no bounding boxes. Skipping...
Warning: Image at index 2240 has no bounding boxes. Skipping...
Warning: Image at index 7692 has no bounding boxes. Skipping...
Warning: Image at index 2396 has no bounding boxes. Skipping...
Warning: Image at index 2342 has no bounding boxes. Skipping...
Warning: Image at index 2094 has no bounding boxes. Skipping...
Warning: Image at index 7594 has no bounding boxes. Skipping...
Warning: Image at index 983 has no bounding boxes. Skipping...
Warning: Image at index 486 has no bounding boxes. Skipping...
Warning: Image at index 645 has no bounding boxes. Skipping...
Warning: Image at index 5972 has no bounding boxes. Skipping...
Warning: Image at index 7203 has no bounding boxes. Skipping...
Warning: Image at index 8170 has no bounding boxes. Skipping...
Warning: Image at index 5314 has no bounding boxes. Skipping...
Warning: Image at index 6637 has no bounding boxes. Skipping...Warning: Image at index 4240 has no bounding boxes. Skipping...Warning: Image at index 354 has no bounding boxes. Skipping...
Warning: Image at index 4008 has no bounding boxes. Skipping...Warning: Image at index 621 has no bounding boxes. Skipping...
Warning: Image at index 7134 has no bounding boxes. Skipping...
Warning: Image at index 3699 has no bounding boxes. Skipping...
Warning: Image at index 2700 has no bounding boxes. Skipping...
Warning: Image at index 3690 has no bounding boxes. Skipping...Warning: Image at index 4698 has no bounding boxes. Skipping...Warning: Image at index 2399 has no bounding boxes. Skipping...
Warning: Image at index 1272 has no bounding boxes. Skipping...
Warning: Image at index 142 has no bounding boxes. Skipping...
Warning: Image at index 7758 has no bounding boxes. Skipping...
Warning: Image at index 1661 has no bounding boxes. Skipping...
Warning: Image at index 84 has no bounding boxes. Skipping...Warning: Image at index 6642 has no bounding boxes. Skipping...Warning: Image at index 1190 has no bounding boxes. Skipping...
Warning: Image at index 2488 has no bounding boxes. Skipping...Warning: Image at index 7356 has no bounding boxes. Skipping...
Warning: Image at index 2810 has no bounding boxes. Skipping...Warning: Image at index 537 has no bounding boxes. Skipping...Warning: Image at index 5834 has no bounding boxes. Skipping...
Warning: Image at index 4095 has no bounding boxes. Skipping...Warning: Image at index 7934 has no bounding boxes. Skipping...
Warning: Image at index 5579 has no bounding boxes. Skipping...
Warning: Image at index 1917 has no bounding boxes. Skipping...
Warning: Image at index 5273 has no bounding boxes. Skipping...
Warning: Image at index 893 has no bounding boxes. Skipping...Warning: Image at index 935 has no bounding boxes. Skipping...
Warning: Image at index 6936 has no bounding boxes. Skipping...
Warning: Image at index 1838 has no bounding boxes. Skipping...
Warning: Image at index 7055 has no bounding boxes. Skipping...Warning: Image at index 5820 has no bounding boxes. Skipping...
Warning: Image at index 5777 has no bounding boxes. Skipping...Warning: Image at index 4750 has no bounding boxes. Skipping...
Warning: Image at index 7739 has no bounding boxes. Skipping...Warning: Image at index 2313 has no bounding boxes. Skipping...
Warning: Image at index 546 has no bounding boxes. Skipping...Warning: Image at index 3170 has no bounding boxes. Skipping...Warning: Image at index 6551 has no bounding boxes. Skipping...
Warning: Image at index 1570 has no bounding boxes. Skipping...
Warning: Image at index 7052 has no bounding boxes. Skipping...
Warning: Image at index 4004 has no bounding boxes. Skipping...
Warning: Image at index 378 has no bounding boxes. Skipping...
Warning: Image at index 4688 has no bounding boxes. Skipping...
Warning: Image at index 4601 has no bounding boxes. Skipping...Warning: Image at index 7909 has no bounding boxes. Skipping...
Warning: Image at index 6943 has no bounding boxes. Skipping...
Warning: Image at index 7511 has no bounding boxes. Skipping...
Warning: Image at index 7358 has no bounding boxes. Skipping...
Warning: Image at index 3055 has no bounding boxes. Skipping...
Warning: Image at index 4036 has no bounding boxes. Skipping...
Warning: Image at index 6650 has no bounding boxes. Skipping...Warning: Image at index 1673 has no bounding boxes. Skipping...
Warning: Image at index 5358 has no bounding boxes. Skipping...Warning: Image at index 3510 has no bounding boxes. Skipping...
Warning: Image at index 3217 has no bounding boxes. Skipping...Warning: Image at index 6667 has no bounding boxes. Skipping...
Warning: Image at index 5208 has no bounding boxes. Skipping...Warning: Image at index 5724 has no bounding boxes. Skipping...
Warning: Image at index 7469 has no bounding boxes. Skipping...
Warning: Image at index 2653 has no bounding boxes. Skipping...Warning: Image at index 1128 has no bounding boxes. Skipping...
Warning: Image at index 1209 has no bounding boxes. Skipping...
Warning: Image at index 6393 has no bounding boxes. Skipping...
Warning: Image at index 1335 has no bounding boxes. Skipping...Warning: Image at index 7986 has no bounding boxes. Skipping...
Warning: Image at index 3412 has no bounding boxes. Skipping...
Warning: Image at index 487 has no bounding boxes. Skipping...
Warning: Image at index 7201 has no bounding boxes. Skipping...
Warning: Image at index 1005 has no bounding boxes. Skipping...
Warning: Image at index 0 has no bounding boxes. Skipping...Warning: Image at index 3136 has no bounding boxes. Skipping...
Warning: Image at index 4902 has no bounding boxes. Skipping...Warning: Image at index 7360 has no bounding boxes. Skipping...Warning: Image at index 7148 has no bounding boxes. Skipping...
Warning: Image at index 3890 has no bounding boxes. Skipping...Warning: Image at index 4463 has no bounding boxes. Skipping...
Warning: Image at index 7726 has no bounding boxes. Skipping...
Warning: Image at index 7220 has no bounding boxes. Skipping...
Warning: Image at index 5866 has no bounding boxes. Skipping...
Warning: Image at index 7327 has no bounding boxes. Skipping...Warning: Image at index 285 has no bounding boxes. Skipping...
Warning: Image at index 1916 has no bounding boxes. Skipping...
Warning: Image at index 848 has no bounding boxes. Skipping...Warning: Image at index 7840 has no bounding boxes. Skipping...Warning: Image at index 2050 has no bounding boxes. Skipping...
Warning: Image at index 2720 has no bounding boxes. Skipping...Warning: Image at index 516 has no bounding boxes. Skipping...
Warning: Image at index 1077 has no bounding boxes. Skipping...
Warning: Image at index 5691 has no bounding boxes. Skipping...Warning: Image at index 2801 has no bounding boxes. Skipping...
Warning: Image at index 7652 has no bounding boxes. Skipping...
Warning: Image at index 7509 has no bounding boxes. Skipping...Warning: Image at index 6919 has no bounding boxes. Skipping...
Warning: Image at index 6517 has no bounding boxes. Skipping...
Warning: Image at index 3718 has no bounding boxes. Skipping...
Warning: Image at index 5636 has no bounding boxes. Skipping...
Warning: Image at index 3350 has no bounding boxes. Skipping...Warning: Image at index 7565 has no bounding boxes. Skipping...
Warning: Image at index 5014 has no bounding boxes. Skipping...Warning: Image at index 7185 has no bounding boxes. Skipping...
Warning: Image at index 755 has no bounding boxes. Skipping...
Warning: Image at index 4530 has no bounding boxes. Skipping...
Warning: Image at index 6718 has no bounding boxes. Skipping...Warning: Image at index 8223 has no bounding boxes. Skipping...
Warning: Image at index 4452 has no bounding boxes. Skipping...
Warning: Image at index 3637 has no bounding boxes. Skipping...
Warning: Image at index 3625 has no bounding boxes. Skipping...
Warning: Image at index 7966 has no bounding boxes. Skipping...
Warning: Image at index 3615 has no bounding boxes. Skipping...
Warning: Image at index 7164 has no bounding boxes. Skipping...
Warning: Image at index 6454 has no bounding boxes. Skipping...
Warning: Image at index 5433 has no bounding boxes. Skipping...Warning: Image at index 266 has no bounding boxes. Skipping...
Warning: Image at index 5732 has no bounding boxes. Skipping...
Warning: Image at index 4157 has no bounding boxes. Skipping...
Warning: Image at index 2529 has no bounding boxes. Skipping...Warning: Image at index 500 has no bounding boxes. Skipping...
Warning: Image at index 4723 has no bounding boxes. Skipping...Warning: Image at index 5931 has no bounding boxes. Skipping...
Warning: Image at index 2435 has no bounding boxes. Skipping...Warning: Image at index 475 has no bounding boxes. Skipping...
Warning: Image at index 5211 has no bounding boxes. Skipping...
Warning: Image at index 6003 has no bounding boxes. Skipping...Warning: Image at index 1713 has no bounding boxes. Skipping...Warning: Image at index 4149 has no bounding boxes. Skipping...Warning: Image at index 4866 has no bounding boxes. Skipping...
Warning: Image at index 6849 has no bounding boxes. Skipping...
Warning: Image at index 1674 has no bounding boxes. Skipping...Warning: Image at index 6091 has no bounding boxes. Skipping...Warning: Image at index 218 has no bounding boxes. Skipping...Warning: Image at index 3159 has no bounding boxes. Skipping...
Warning: Image at index 3710 has no bounding boxes. Skipping...
Warning: Image at index 1236 has no bounding boxes. Skipping...Warning: Image at index 7340 has no bounding boxes. Skipping...
Warning: Image at index 7648 has no bounding boxes. Skipping...
Warning: Image at index 2364 has no bounding boxes. Skipping...
Warning: Image at index 3590 has no bounding boxes. Skipping...Warning: Image at index 1489 has no bounding boxes. Skipping...Warning: Image at index 5727 has no bounding boxes. Skipping...
Warning: Image at index 264 has no bounding boxes. Skipping...
Warning: Image at index 3446 has no bounding boxes. Skipping...
Warning: Image at index 6361 has no bounding boxes. Skipping...Warning: Image at index 5557 has no bounding boxes. Skipping...
Warning: Image at index 6907 has no bounding boxes. Skipping...
Warning: Image at index 7984 has no bounding boxes. Skipping...Warning: Image at index 636 has no bounding boxes. Skipping...
Warning: Image at index 5123 has no bounding boxes. Skipping...
Warning: Image at index 6077 has no bounding boxes. Skipping...
Warning: Image at index 3306 has no bounding boxes. Skipping...
Warning: Image at index 4769 has no bounding boxes. Skipping...Warning: Image at index 4264 has no bounding boxes. Skipping...
Warning: Image at index 2350 has no bounding boxes. Skipping...Warning: Image at index 589 has no bounding boxes. Skipping...
Warning: Image at index 5188 has no bounding boxes. Skipping...
Warning: Image at index 315 has no bounding boxes. Skipping...
Warning: Image at index 6757 has no bounding boxes. Skipping...
Warning: Image at index 4673 has no bounding boxes. Skipping...Warning: Image at index 1826 has no bounding boxes. Skipping...Warning: Image at index 3401 has no bounding boxes. Skipping...
Warning: Image at index 3736 has no bounding boxes. Skipping...
Warning: Image at index 975 has no bounding boxes. Skipping...
Warning: Image at index 4145 has no bounding boxes. Skipping...
Warning: Image at index 3836 has no bounding boxes. Skipping...
Warning: Image at index 1416 has no bounding boxes. Skipping...
Warning: Image at index 7066 has no bounding boxes. Skipping...
Warning: Image at index 35 has no bounding boxes. Skipping...
Warning: Image at index 1775 has no bounding boxes. Skipping...
Warning: Image at index 6057 has no bounding boxes. Skipping...Warning: Image at index 5073 has no bounding boxes. Skipping...
Warning: Image at index 5682 has no bounding boxes. Skipping...
Warning: Image at index 5878 has no bounding boxes. Skipping...Warning: Image at index 4102 has no bounding boxes. Skipping...
Warning: Image at index 6259 has no bounding boxes. Skipping...Warning: Image at index 5701 has no bounding boxes. Skipping...
Warning: Image at index 1061 has no bounding boxes. Skipping...
Warning: Image at index 4524 has no bounding boxes. Skipping...Warning: Image at index 2534 has no bounding boxes. Skipping...Warning: Image at index 2845 has no bounding boxes. Skipping...
Warning: Image at index 3591 has no bounding boxes. Skipping...
Warning: Image at index 8162 has no bounding boxes. Skipping...Warning: Image at index 2095 has no bounding boxes. Skipping...
Warning: Image at index 3019 has no bounding boxes. Skipping...
Warning: Image at index 1964 has no bounding boxes. Skipping...Warning: Image at index 6344 has no bounding boxes. Skipping...
Warning: Image at index 7580 has no bounding boxes. Skipping...
Warning: Image at index 6480 has no bounding boxes. Skipping...
Warning: Image at index 5785 has no bounding boxes. Skipping...
Warning: Image at index 7508 has no bounding boxes. Skipping...Warning: Image at index 6573 has no bounding boxes. Skipping...
Warning: Image at index 4083 has no bounding boxes. Skipping...Warning: Image at index 23 has no bounding boxes. Skipping...
Warning: Image at index 6673 has no bounding boxes. Skipping...Warning: Image at index 3681 has no bounding boxes. Skipping...
Warning: Image at index 6630 has no bounding boxes. Skipping...
Warning: Image at index 8093 has no bounding boxes. Skipping...
Warning: Image at index 6363 has no bounding boxes. Skipping...
Warning: Image at index 166 has no bounding boxes. Skipping...
Warning: Image at index 6376 has no bounding boxes. Skipping...
Warning: Image at index 817 has no bounding boxes. Skipping...
Warning: Image at index 40 has no bounding boxes. Skipping...Warning: Image at index 5670 has no bounding boxes. Skipping...Warning: Image at index 641 has no bounding boxes. Skipping...
Warning: Image at index 502 has no bounding boxes. Skipping...Warning: Image at index 709 has no bounding boxes. Skipping...Warning: Image at index 6165 has no bounding boxes. Skipping...
Warning: Image at index 1700 has no bounding boxes. Skipping...Warning: Image at index 6423 has no bounding boxes. Skipping...
Warning: Image at index 5819 has no bounding boxes. Skipping...Warning: Image at index 7818 has no bounding boxes. Skipping...
Warning: Image at index 4152 has no bounding boxes. Skipping...
Warning: Image at index 4158 has no bounding boxes. Skipping...Warning: Image at index 4306 has no bounding boxes. Skipping...
Warning: Image at index 775 has no bounding boxes. Skipping...
Warning: Image at index 5303 has no bounding boxes. Skipping...
Warning: Image at index 1008 has no bounding boxes. Skipping...
Warning: Image at index 6783 has no bounding boxes. Skipping...
Warning: Image at index 2197 has no bounding boxes. Skipping...Warning: Image at index 7980 has no bounding boxes. Skipping...
Warning: Image at index 7135 has no bounding boxes. Skipping...Warning: Image at index 5224 has no bounding boxes. Skipping...
Warning: Image at index 6566 has no bounding boxes. Skipping...
Warning: Image at index 1888 has no bounding boxes. Skipping...Warning: Image at index 6925 has no bounding boxes. Skipping...
Warning: Image at index 2764 has no bounding boxes. Skipping...Warning: Image at index 6120 has no bounding boxes. Skipping...
Warning: Image at index 3762 has no bounding boxes. Skipping...
Warning: Image at index 342 has no bounding boxes. Skipping...
Warning: Image at index 4170 has no bounding boxes. Skipping...
Warning: Image at index 6825 has no bounding boxes. Skipping...
Warning: Image at index 3766 has no bounding boxes. Skipping...
Warning: Image at index 1024 has no bounding boxes. Skipping...Warning: Image at index 2000 has no bounding boxes. Skipping...
Warning: Image at index 4819 has no bounding boxes. Skipping...
Warning: Image at index 3157 has no bounding boxes. Skipping...
Warning: Image at index 7861 has no bounding boxes. Skipping...
Warning: Image at index 5721 has no bounding boxes. Skipping...Warning: Image at index 4615 has no bounding boxes. Skipping...
Warning: Image at index 5148 has no bounding boxes. Skipping...
Warning: Image at index 4388 has no bounding boxes. Skipping...Warning: Image at index 1354 has no bounding boxes. Skipping...
Warning: Image at index 1800 has no bounding boxes. Skipping...Warning: Image at index 7708 has no bounding boxes. Skipping...
Warning: Image at index 5089 has no bounding boxes. Skipping...
Warning: Image at index 2591 has no bounding boxes. Skipping...Warning: Image at index 1995 has no bounding boxes. Skipping...Warning: Image at index 6581 has no bounding boxes. Skipping...
Warning: Image at index 248 has no bounding boxes. Skipping...Warning: Image at index 8063 has no bounding boxes. Skipping...Warning: Image at index 7630 has no bounding boxes. Skipping...
Warning: Image at index 3440 has no bounding boxes. Skipping...Warning: Image at index 205 has no bounding boxes. Skipping...
Warning: Image at index 1481 has no bounding boxes. Skipping...
Warning: Image at index 7106 has no bounding boxes. Skipping...
Warning: Image at index 208 has no bounding boxes. Skipping...
Warning: Image at index 7111 has no bounding boxes. Skipping...
Warning: Image at index 2922 has no bounding boxes. Skipping...
Warning: Image at index 3896 has no bounding boxes. Skipping...
Warning: Image at index 4213 has no bounding boxes. Skipping...
Warning: Image at index 5408 has no bounding boxes. Skipping...Warning: Image at index 5747 has no bounding boxes. Skipping...
Warning: Image at index 8025 has no bounding boxes. Skipping...
Warning: Image at index 7153 has no bounding boxes. Skipping...
Warning: Image at index 4721 has no bounding boxes. Skipping...
Warning: Image at index 4715 has no bounding boxes. Skipping...Warning: Image at index 2511 has no bounding boxes. Skipping...Warning: Image at index 7139 has no bounding boxes. Skipping...
Warning: Image at index 7207 has no bounding boxes. Skipping...
Warning: Image at index 2420 has no bounding boxes. Skipping...Warning: Image at index 2054 has no bounding boxes. Skipping...
Warning: Image at index 5402 has no bounding boxes. Skipping...
Warning: Image at index 7167 has no bounding boxes. Skipping...
Warning: Image at index 7217 has no bounding boxes. Skipping...Warning: Image at index 6806 has no bounding boxes. Skipping...
Warning: Image at index 15 has no bounding boxes. Skipping...Warning: Image at index 7932 has no bounding boxes. Skipping...
Warning: Image at index 7869 has no bounding boxes. Skipping...Warning: Image at index 5743 has no bounding boxes. Skipping...
Warning: Image at index 1152 has no bounding boxes. Skipping...
Warning: Image at index 5189 has no bounding boxes. Skipping...
Warning: Image at index 4857 has no bounding boxes. Skipping...Warning: Image at index 4486 has no bounding boxes. Skipping...
Warning: Image at index 4294 has no bounding boxes. Skipping...
Warning: Image at index 1830 has no bounding boxes. Skipping...Warning: Image at index 3679 has no bounding boxes. Skipping...
Warning: Image at index 5715 has no bounding boxes. Skipping...Warning: Image at index 4002 has no bounding boxes. Skipping...
Warning: Image at index 1531 has no bounding boxes. Skipping...Warning: Image at index 6900 has no bounding boxes. Skipping...Warning: Image at index 785 has no bounding boxes. Skipping...
Warning: Image at index 518 has no bounding boxes. Skipping...
Warning: Image at index 1010 has no bounding boxes. Skipping...Warning: Image at index 3845 has no bounding boxes. Skipping...
Warning: Image at index 1446 has no bounding boxes. Skipping...
Warning: Image at index 5409 has no bounding boxes. Skipping...
Warning: Image at index 5893 has no bounding boxes. Skipping...Warning: Image at index 3502 has no bounding boxes. Skipping...
Warning: Image at index 5975 has no bounding boxes. Skipping...
Warning: Image at index 2249 has no bounding boxes. Skipping...Warning: Image at index 5844 has no bounding boxes. Skipping...
Warning: Image at index 2474 has no bounding boxes. Skipping...Warning: Image at index 6748 has no bounding boxes. Skipping...
Warning: Image at index 5573 has no bounding boxes. Skipping...
Warning: Image at index 333 has no bounding boxes. Skipping...
Warning: Image at index 7802 has no bounding boxes. Skipping...
Warning: Image at index 1938 has no bounding boxes. Skipping...
Warning: Image at index 4194 has no bounding boxes. Skipping...
Warning: Image at index 7407 has no bounding boxes. Skipping...
Warning: Image at index 5779 has no bounding boxes. Skipping...
Warning: Image at index 4916 has no bounding boxes. Skipping...
Warning: Image at index 2138 has no bounding boxes. Skipping...
Warning: Image at index 7872 has no bounding boxes. Skipping...
Warning: Image at index 730 has no bounding boxes. Skipping...
Warning: Image at index 137 has no bounding boxes. Skipping...Warning: Image at index 2612 has no bounding boxes. Skipping...
Warning: Image at index 2102 has no bounding boxes. Skipping...Warning: Image at index 6466 has no bounding boxes. Skipping...
Warning: Image at index 8184 has no bounding boxes. Skipping...
Warning: Image at index 3391 has no bounding boxes. Skipping...
Warning: Image at index 2606 has no bounding boxes. Skipping...
Warning: Image at index 658 has no bounding boxes. Skipping...Warning: Image at index 3530 has no bounding boxes. Skipping...
Warning: Image at index 5296 has no bounding boxes. Skipping...Warning: Image at index 1546 has no bounding boxes. Skipping...Warning: Image at index 4662 has no bounding boxes. Skipping...
Warning: Image at index 6302 has no bounding boxes. Skipping...
Warning: Image at index 8139 has no bounding boxes. Skipping...
Warning: Image at index 271 has no bounding boxes. Skipping...
Warning: Image at index 8249 has no bounding boxes. Skipping...
Warning: Image at index 2657 has no bounding boxes. Skipping...Warning: Image at index 8005 has no bounding boxes. Skipping...
Warning: Image at index 4682 has no bounding boxes. Skipping...Warning: Image at index 909 has no bounding boxes. Skipping...
Warning: Image at index 1273 has no bounding boxes. Skipping...
Warning: Image at index 5690 has no bounding boxes. Skipping...Warning: Image at index 3838 has no bounding boxes. Skipping...
Warning: Image at index 4219 has no bounding boxes. Skipping...
Warning: Image at index 974 has no bounding boxes. Skipping...
Warning: Image at index 4924 has no bounding boxes. Skipping...
Warning: Image at index 6119 has no bounding boxes. Skipping...Warning: Image at index 6162 has no bounding boxes. Skipping...
Warning: Image at index 6948 has no bounding boxes. Skipping...Warning: Image at index 5566 has no bounding boxes. Skipping...
Warning: Image at index 290 has no bounding boxes. Skipping...
Warning: Image at index 1667 has no bounding boxes. Skipping...
Warning: Image at index 5436 has no bounding boxes. Skipping...Warning: Image at index 7593 has no bounding boxes. Skipping...
Warning: Image at index 6737 has no bounding boxes. Skipping...
Warning: Image at index 8275 has no bounding boxes. Skipping...
Warning: Image at index 2133 has no bounding boxes. Skipping...Warning: Image at index 3920 has no bounding boxes. Skipping...Warning: Image at index 4297 has no bounding boxes. Skipping...
Warning: Image at index 2058 has no bounding boxes. Skipping...
Warning: Image at index 7841 has no bounding boxes. Skipping...
Warning: Image at index 5495 has no bounding boxes. Skipping...
Warning: Image at index 747 has no bounding boxes. Skipping...
Warning: Image at index 6986 has no bounding boxes. Skipping...
Warning: Image at index 5880 has no bounding boxes. Skipping...
Warning: Image at index 5741 has no bounding boxes. Skipping...Warning: Image at index 6336 has no bounding boxes. Skipping...Warning: Image at index 2498 has no bounding boxes. Skipping...
Warning: Image at index 1054 has no bounding boxes. Skipping...
Warning: Image at index 5614 has no bounding boxes. Skipping...Warning: Image at index 6539 has no bounding boxes. Skipping...
Warning: Image at index 7513 has no bounding boxes. Skipping...Warning: Image at index 2745 has no bounding boxes. Skipping...
Warning: Image at index 4111 has no bounding boxes. Skipping...
Warning: Image at index 1972 has no bounding boxes. Skipping...
Warning: Image at index 773 has no bounding boxes. Skipping...Warning: Image at index 6852 has no bounding boxes. Skipping...
Warning: Image at index 1660 has no bounding boxes. Skipping...Warning: Image at index 2701 has no bounding boxes. Skipping...Warning: Image at index 52 has no bounding boxes. Skipping...
Warning: Image at index 5249 has no bounding boxes. Skipping...
Warning: Image at index 3457 has no bounding boxes. Skipping...Warning: Image at index 2778 has no bounding boxes. Skipping...
Warning: Image at index 1486 has no bounding boxes. Skipping...
Warning: Image at index 1275 has no bounding boxes. Skipping...Warning: Image at index 1289 has no bounding boxes. Skipping...Warning: Image at index 5151 has no bounding boxes. Skipping...
Warning: Image at index 3241 has no bounding boxes. Skipping...
Warning: Image at index 4148 has no bounding boxes. Skipping...Warning: Image at index 5925 has no bounding boxes. Skipping...
Warning: Image at index 6438 has no bounding boxes. Skipping...Warning: Image at index 1900 has no bounding boxes. Skipping...
Warning: Image at index 3770 has no bounding boxes. Skipping...Warning: Image at index 6442 has no bounding boxes. Skipping...
Warning: Image at index 3498 has no bounding boxes. Skipping...
Warning: Image at index 5788 has no bounding boxes. Skipping...
Warning: Image at index 7232 has no bounding boxes. Skipping...
Warning: Image at index 138 has no bounding boxes. Skipping...
Warning: Image at index 3583 has no bounding boxes. Skipping...
Warning: Image at index 3473 has no bounding boxes. Skipping...Warning: Image at index 4299 has no bounding boxes. Skipping...
Warning: Image at index 7200 has no bounding boxes. Skipping...
Warning: Image at index 6167 has no bounding boxes. Skipping...Warning: Image at index 1205 has no bounding boxes. Skipping...Warning: Image at index 1848 has no bounding boxes. Skipping...
Warning: Image at index 7347 has no bounding boxes. Skipping...Warning: Image at index 3917 has no bounding boxes. Skipping...
Warning: Image at index 4953 has no bounding boxes. Skipping...Warning: Image at index 2043 has no bounding boxes. Skipping...
Warning: Image at index 2024 has no bounding boxes. Skipping...
Warning: Image at index 1423 has no bounding boxes. Skipping...Warning: Image at index 1494 has no bounding boxes. Skipping...
Warning: Image at index 20 has no bounding boxes. Skipping...
Warning: Image at index 2791 has no bounding boxes. Skipping...
Warning: Image at index 467 has no bounding boxes. Skipping...Warning: Image at index 4921 has no bounding boxes. Skipping...
Warning: Image at index 5024 has no bounding boxes. Skipping...
Warning: Image at index 4832 has no bounding boxes. Skipping...Warning: Image at index 864 has no bounding boxes. Skipping...Warning: Image at index 4708 has no bounding boxes. Skipping...
Warning: Image at index 6998 has no bounding boxes. Skipping...
Warning: Image at index 7408 has no bounding boxes. Skipping...
Warning: Image at index 313 has no bounding boxes. Skipping...
Warning: Image at index 4244 has no bounding boxes. Skipping...Warning: Image at index 3428 has no bounding boxes. Skipping...Warning: Image at index 2583 has no bounding boxes. Skipping...
Warning: Image at index 4484 has no bounding boxes. Skipping...
Warning: Image at index 2018 has no bounding boxes. Skipping...
Warning: Image at index 2747 has no bounding boxes. Skipping...
Warning: Image at index 4566 has no bounding boxes. Skipping...
Warning: Image at index 2805 has no bounding boxes. Skipping...
Warning: Image at index 6583 has no bounding boxes. Skipping...
Warning: Image at index 5200 has no bounding boxes. Skipping...Warning: Image at index 4893 has no bounding boxes. Skipping...
Warning: Image at index 1377 has no bounding boxes. Skipping...
Warning: Image at index 5036 has no bounding boxes. Skipping...
Warning: Image at index 161 has no bounding boxes. Skipping...
Warning: Image at index 1196 has no bounding boxes. Skipping...Warning: Image at index 1069 has no bounding boxes. Skipping...
Warning: Image at index 7428 has no bounding boxes. Skipping...Warning: Image at index 2808 has no bounding boxes. Skipping...
Warning: Image at index 949 has no bounding boxes. Skipping...
Warning: Image at index 7718 has no bounding boxes. Skipping...
Warning: Image at index 6035 has no bounding boxes. Skipping...
Warning: Image at index 56 has no bounding boxes. Skipping...
Warning: Image at index 6470 has no bounding boxes. Skipping...
Warning: Image at index 2699 has no bounding boxes. Skipping...
Warning: Image at index 5517 has no bounding boxes. Skipping...
Warning: Image at index 2741 has no bounding boxes. Skipping...
Warning: Image at index 4164 has no bounding boxes. Skipping...
Warning: Image at index 7579 has no bounding boxes. Skipping...
Warning: Image at index 1539 has no bounding boxes. Skipping...Warning: Image at index 1954 has no bounding boxes. Skipping...
Warning: Image at index 1428 has no bounding boxes. Skipping...
Warning: Image at index 128 has no bounding boxes. Skipping...
Warning: Image at index 2786 has no bounding boxes. Skipping...
Warning: Image at index 6702 has no bounding boxes. Skipping...Warning: Image at index 802 has no bounding boxes. Skipping...Warning: Image at index 4216 has no bounding boxes. Skipping...
Warning: Image at index 791 has no bounding boxes. Skipping...Warning: Image at index 4523 has no bounding boxes. Skipping...Warning: Image at index 7435 has no bounding boxes. Skipping...
Warning: Image at index 886 has no bounding boxes. Skipping...Warning: Image at index 3166 has no bounding boxes. Skipping...Warning: Image at index 4285 has no bounding boxes. Skipping...
Warning: Image at index 5877 has no bounding boxes. Skipping...
Warning: Image at index 2203 has no bounding boxes. Skipping...Warning: Image at index 7545 has no bounding boxes. Skipping...Warning: Image at index 3651 has no bounding boxes. Skipping...
Warning: Image at index 3945 has no bounding boxes. Skipping...
Warning: Image at index 3683 has no bounding boxes. Skipping...Warning: Image at index 5214 has no bounding boxes. Skipping...
Warning: Image at index 2253 has no bounding boxes. Skipping...
Warning: Image at index 8000 has no bounding boxes. Skipping...Warning: Image at index 8028 has no bounding boxes. Skipping...
Warning: Image at index 8200 has no bounding boxes. Skipping...Warning: Image at index 1831 has no bounding boxes. Skipping...
Warning: Image at index 1615 has no bounding boxes. Skipping...Warning: Image at index 5178 has no bounding boxes. Skipping...
Warning: Image at index 4800 has no bounding boxes. Skipping...Warning: Image at index 1211 has no bounding boxes. Skipping...
Warning: Image at index 3585 has no bounding boxes. Skipping...
Warning: Image at index 4562 has no bounding boxes. Skipping...Warning: Image at index 3027 has no bounding boxes. Skipping...
Warning: Image at index 4017 has no bounding boxes. Skipping...
Warning: Image at index 7941 has no bounding boxes. Skipping...
Warning: Image at index 4093 has no bounding boxes. Skipping...
Warning: Image at index 519 has no bounding boxes. Skipping...Warning: Image at index 339 has no bounding boxes. Skipping...
Warning: Image at index 6297 has no bounding boxes. Skipping...
Warning: Image at index 6486 has no bounding boxes. Skipping...
Warning: Image at index 6001 has no bounding boxes. Skipping...
Warning: Image at index 676 has no bounding boxes. Skipping...Warning: Image at index 6362 has no bounding boxes. Skipping...Warning: Image at index 5254 has no bounding boxes. Skipping...
Warning: Image at index 7325 has no bounding boxes. Skipping...Warning: Image at index 2397 has no bounding boxes. Skipping...Warning: Image at index 7750 has no bounding boxes. Skipping...
Warning: Image at index 4159 has no bounding boxes. Skipping...Warning: Image at index 335 has no bounding boxes. Skipping...Warning: Image at index 6037 has no bounding boxes. Skipping...
Warning: Image at index 3911 has no bounding boxes. Skipping...
Warning: Image at index 2080 has no bounding boxes. Skipping...Warning: Image at index 4748 has no bounding boxes. Skipping...
Warning: Image at index 8227 has no bounding boxes. Skipping...
Warning: Image at index 6600 has no bounding boxes. Skipping...
Warning: Image at index 8052 has no bounding boxes. Skipping...
Warning: Image at index 5825 has no bounding boxes. Skipping...Warning: Image at index 1528 has no bounding boxes. Skipping...Warning: Image at index 6069 has no bounding boxes. Skipping...
Warning: Image at index 63 has no bounding boxes. Skipping...
Warning: Image at index 4193 has no bounding boxes. Skipping...
Warning: Image at index 7910 has no bounding boxes. Skipping...Warning: Image at index 4246 has no bounding boxes. Skipping...
Warning: Image at index 4518 has no bounding boxes. Skipping...
Warning: Image at index 7027 has no bounding boxes. Skipping...
Warning: Image at index 3268 has no bounding boxes. Skipping...Warning: Image at index 7454 has no bounding boxes. Skipping...
Warning: Image at index 2260 has no bounding boxes. Skipping...Warning: Image at index 4878 has no bounding boxes. Skipping...Warning: Image at index 812 has no bounding boxes. Skipping...Warning: Image at index 5781 has no bounding boxes. Skipping...
Warning: Image at index 7570 has no bounding boxes. Skipping...
Warning: Image at index 2541 has no bounding boxes. Skipping...Warning: Image at index 953 has no bounding boxes. Skipping...
Warning: Image at index 2877 has no bounding boxes. Skipping...
Warning: Image at index 4382 has no bounding boxes. Skipping...
Warning: Image at index 3126 has no bounding boxes. Skipping...Warning: Image at index 2457 has no bounding boxes. Skipping...
Warning: Image at index 8185 has no bounding boxes. Skipping...Warning: Image at index 8212 has no bounding boxes. Skipping...
Warning: Image at index 5981 has no bounding boxes. Skipping...
Warning: Image at index 2327 has no bounding boxes. Skipping...Warning: Image at index 6634 has no bounding boxes. Skipping...
Warning: Image at index 751 has no bounding boxes. Skipping...Warning: Image at index 6403 has no bounding boxes. Skipping...
Warning: Image at index 2127 has no bounding boxes. Skipping...
Warning: Image at index 6940 has no bounding boxes. Skipping...Warning: Image at index 4414 has no bounding boxes. Skipping...Warning: Image at index 368 has no bounding boxes. Skipping...
Warning: Image at index 260 has no bounding boxes. Skipping...
Warning: Image at index 2259 has no bounding boxes. Skipping...Warning: Image at index 988 has no bounding boxes. Skipping...Warning: Image at index 3991 has no bounding boxes. Skipping...
Warning: Image at index 7507 has no bounding boxes. Skipping...Warning: Image at index 6773 has no bounding boxes. Skipping...
Warning: Image at index 4370 has no bounding boxes. Skipping...
Warning: Image at index 7051 has no bounding boxes. Skipping...
Warning: Image at index 2247 has no bounding boxes. Skipping...
Warning: Image at index 7383 has no bounding boxes. Skipping...
Warning: Image at index 5775 has no bounding boxes. Skipping...Warning: Image at index 3783 has no bounding boxes. Skipping...
Warning: Image at index 8036 has no bounding boxes. Skipping...
Warning: Image at index 5528 has no bounding boxes. Skipping...
Warning: Image at index 6710 has no bounding boxes. Skipping...Warning: Image at index 1695 has no bounding boxes. Skipping...Warning: Image at index 3287 has no bounding boxes. Skipping...
Warning: Image at index 2765 has no bounding boxes. Skipping...Warning: Image at index 713 has no bounding boxes. Skipping...
Warning: Image at index 556 has no bounding boxes. Skipping...Warning: Image at index 7033 has no bounding boxes. Skipping...
Warning: Image at index 3851 has no bounding boxes. Skipping...Warning: Image at index 4094 has no bounding boxes. Skipping...
Warning: Image at index 3071 has no bounding boxes. Skipping...Warning: Image at index 4954 has no bounding boxes. Skipping...
Warning: Image at index 5166 has no bounding boxes. Skipping...Warning: Image at index 1526 has no bounding boxes. Skipping...
Warning: Image at index 6445 has no bounding boxes. Skipping...
Warning: Image at index 716 has no bounding boxes. Skipping...Warning: Image at index 7166 has no bounding boxes. Skipping...Warning: Image at index 369 has no bounding boxes. Skipping...
Warning: Image at index 2533 has no bounding boxes. Skipping...Warning: Image at index 3714 has no bounding boxes. Skipping...
Warning: Image at index 5720 has no bounding boxes. Skipping...
Warning: Image at index 1890 has no bounding boxes. Skipping...Warning: Image at index 6792 has no bounding boxes. Skipping...Warning: Image at index 6188 has no bounding boxes. Skipping...
Warning: Image at index 1542 has no bounding boxes. Skipping...
Warning: Image at index 6944 has no bounding boxes. Skipping...
Warning: Image at index 2851 has no bounding boxes. Skipping...Warning: Image at index 7336 has no bounding boxes. Skipping...
Warning: Image at index 2134 has no bounding boxes. Skipping...
Warning: Image at index 2280 has no bounding boxes. Skipping...
Warning: Image at index 7585 has no bounding boxes. Skipping...Warning: Image at index 2016 has no bounding boxes. Skipping...
Warning: Image at index 7926 has no bounding boxes. Skipping...
Warning: Image at index 3269 has no bounding boxes. Skipping...Warning: Image at index 3576 has no bounding boxes. Skipping...
Warning: Image at index 7557 has no bounding boxes. Skipping...Warning: Image at index 8236 has no bounding boxes. Skipping...Warning: Image at index 2868 has no bounding boxes. Skipping...
Warning: Image at index 6125 has no bounding boxes. Skipping...Warning: Image at index 921 has no bounding boxes. Skipping...
Warning: Image at index 3002 has no bounding boxes. Skipping...
Warning: Image at index 4397 has no bounding boxes. Skipping...Warning: Image at index 5482 has no bounding boxes. Skipping...Warning: Image at index 1306 has no bounding boxes. Skipping...Warning: Image at index 4050 has no bounding boxes. Skipping...
Warning: Image at index 6677 has no bounding boxes. Skipping...Warning: Image at index 3487 has no bounding boxes. Skipping...
Warning: Image at index 5879 has no bounding boxes. Skipping...Warning: Image at index 6956 has no bounding boxes. Skipping...
Warning: Image at index 3415 has no bounding boxes. Skipping...
Warning: Image at index 4272 has no bounding boxes. Skipping...Warning: Image at index 8264 has no bounding boxes. Skipping...
Warning: Image at index 6133 has no bounding boxes. Skipping...
Warning: Image at index 7272 has no bounding boxes. Skipping...Warning: Image at index 4599 has no bounding boxes. Skipping...Warning: Image at index 7388 has no bounding boxes. Skipping...
Warning: Image at index 6770 has no bounding boxes. Skipping...Warning: Image at index 2847 has no bounding boxes. Skipping...Warning: Image at index 2442 has no bounding boxes. Skipping...
Warning: Image at index 4925 has no bounding boxes. Skipping...Warning: Image at index 3598 has no bounding boxes. Skipping...
Warning: Image at index 3421 has no bounding boxes. Skipping...
Warning: Image at index 3437 has no bounding boxes. Skipping...
Warning: Image at index 3213 has no bounding boxes. Skipping...
Warning: Image at index 4300 has no bounding boxes. Skipping...Warning: Image at index 2884 has no bounding boxes. Skipping...Warning: Image at index 591 has no bounding boxes. Skipping...
Warning: Image at index 5999 has no bounding boxes. Skipping...Warning: Image at index 1958 has no bounding boxes. Skipping...Warning: Image at index 7374 has no bounding boxes. Skipping...Warning: Image at index 3265 has no bounding boxes. Skipping...
Warning: Image at index 2385 has no bounding boxes. Skipping...
Warning: Image at index 5047 has no bounding boxes. Skipping...Warning: Image at index 414 has no bounding boxes. Skipping...Warning: Image at index 1384 has no bounding boxes. Skipping...
Warning: Image at index 124 has no bounding boxes. Skipping...
Warning: Image at index 6934 has no bounding boxes. Skipping...
Warning: Image at index 4621 has no bounding boxes. Skipping...Warning: Image at index 2963 has no bounding boxes. Skipping...
Warning: Image at index 8002 has no bounding boxes. Skipping...Warning: Image at index 6258 has no bounding boxes. Skipping...
Warning: Image at index 3111 has no bounding boxes. Skipping...
Warning: Image at index 323 has no bounding boxes. Skipping...
Warning: Image at index 8216 has no bounding boxes. Skipping...
Warning: Image at index 3580 has no bounding boxes. Skipping...Warning: Image at index 4074 has no bounding boxes. Skipping...
Warning: Image at index 3539 has no bounding boxes. Skipping...
Warning: Image at index 7104 has no bounding boxes. Skipping...Warning: Image at index 7345 has no bounding boxes. Skipping...Warning: Image at index 3475 has no bounding boxes. Skipping...
Warning: Image at index 370 has no bounding boxes. Skipping...
Warning: Image at index 8082 has no bounding boxes. Skipping...
Warning: Image at index 7631 has no bounding boxes. Skipping...
Warning: Image at index 1651 has no bounding boxes. Skipping...Warning: Image at index 4375 has no bounding boxes. Skipping...Warning: Image at index 4080 has no bounding boxes. Skipping...
Warning: Image at index 462 has no bounding boxes. Skipping...
Warning: Image at index 6234 has no bounding boxes. Skipping...Warning: Image at index 1022 has no bounding boxes. Skipping...
Warning: Image at index 7622 has no bounding boxes. Skipping...
Warning: Image at index 778 has no bounding boxes. Skipping...Warning: Image at index 529 has no bounding boxes. Skipping...
Warning: Image at index 6262 has no bounding boxes. Skipping...
Warning: Image at index 712 has no bounding boxes. Skipping...Warning: Image at index 6304 has no bounding boxes. Skipping...
Warning: Image at index 94 has no bounding boxes. Skipping...Warning: Image at index 6808 has no bounding boxes. Skipping...
Warning: Image at index 1897 has no bounding boxes. Skipping...
Warning: Image at index 695 has no bounding boxes. Skipping...Warning: Image at index 3684 has no bounding boxes. Skipping...
Warning: Image at index 1363 has no bounding boxes. Skipping...
Warning: Image at index 1623 has no bounding boxes. Skipping...Warning: Image at index 3 has no bounding boxes. Skipping...Warning: Image at index 7814 has no bounding boxes. Skipping...
Warning: Image at index 3097 has no bounding boxes. Skipping...
Warning: Image at index 4543 has no bounding boxes. Skipping...Warning: Image at index 186 has no bounding boxes. Skipping...Warning: Image at index 3095 has no bounding boxes. Skipping...
Warning: Image at index 7227 has no bounding boxes. Skipping...
Warning: Image at index 1988 has no bounding boxes. Skipping...Warning: Image at index 7961 has no bounding boxes. Skipping...
Warning: Image at index 6654 has no bounding boxes. Skipping...
Warning: Image at index 1882 has no bounding boxes. Skipping...
Warning: Image at index 6016 has no bounding boxes. Skipping...Warning: Image at index 4122 has no bounding boxes. Skipping...
Warning: Image at index 5802 has no bounding boxes. Skipping...
Warning: Image at index 1319 has no bounding boxes. Skipping...
Warning: Image at index 7459 has no bounding boxes. Skipping...Warning: Image at index 1906 has no bounding boxes. Skipping...
Warning: Image at index 2975 has no bounding boxes. Skipping...Warning: Image at index 1305 has no bounding boxes. Skipping...
Warning: Image at index 4758 has no bounding boxes. Skipping...Warning: Image at index 3273 has no bounding boxes. Skipping...
Warning: Image at index 1098 has no bounding boxes. Skipping...Warning: Image at index 4929 has no bounding boxes. Skipping...
Warning: Image at index 1637 has no bounding boxes. Skipping...
Warning: Image at index 2450 has no bounding boxes. Skipping...Warning: Image at index 6208 has no bounding boxes. Skipping...
Warning: Image at index 8137 has no bounding boxes. Skipping...
Warning: Image at index 1663 has no bounding boxes. Skipping...
Warning: Image at index 7476 has no bounding boxes. Skipping...
Warning: Image at index 6692 has no bounding boxes. Skipping...Warning: Image at index 3407 has no bounding boxes. Skipping...Warning: Image at index 3894 has no bounding boxes. Skipping...
Warning: Image at index 5716 has no bounding boxes. Skipping...Warning: Image at index 363 has no bounding boxes. Skipping...Warning: Image at index 568 has no bounding boxes. Skipping...
Warning: Image at index 4642 has no bounding boxes. Skipping...Warning: Image at index 5345 has no bounding boxes. Skipping...Warning: Image at index 7078 has no bounding boxes. Skipping...
Warning: Image at index 4127 has no bounding boxes. Skipping...
Warning: Image at index 1378 has no bounding boxes. Skipping...Warning: Image at index 8099 has no bounding boxes. Skipping...
Warning: Image at index 4118 has no bounding boxes. Skipping...Warning: Image at index 872 has no bounding boxes. Skipping...Warning: Image at index 2670 has no bounding boxes. Skipping...
Warning: Image at index 3673 has no bounding boxes. Skipping...Warning: Image at index 7014 has no bounding boxes. Skipping...
Warning: Image at index 6322 has no bounding boxes. Skipping...Warning: Image at index 585 has no bounding boxes. Skipping...
Warning: Image at index 7057 has no bounding boxes. Skipping...Warning: Image at index 5347 has no bounding boxes. Skipping...Warning: Image at index 7651 has no bounding boxes. Skipping...
Warning: Image at index 2748 has no bounding boxes. Skipping...Warning: Image at index 1337 has no bounding boxes. Skipping...
Warning: Image at index 1068 has no bounding boxes. Skipping...
Warning: Image at index 6625 has no bounding boxes. Skipping...Warning: Image at index 217 has no bounding boxes. Skipping...
Warning: Image at index 513 has no bounding boxes. Skipping...
Warning: Image at index 8098 has no bounding boxes. Skipping...
Warning: Image at index 5764 has no bounding boxes. Skipping...Warning: Image at index 511 has no bounding boxes. Skipping...
Warning: Image at index 757 has no bounding boxes. Skipping...Warning: Image at index 3883 has no bounding boxes. Skipping...
Warning: Image at index 238 has no bounding boxes. Skipping...Warning: Image at index 355 has no bounding boxes. Skipping...
Warning: Image at index 2809 has no bounding boxes. Skipping...
Warning: Image at index 841 has no bounding boxes. Skipping...
Warning: Image at index 7524 has no bounding boxes. Skipping...
Warning: Image at index 554 has no bounding boxes. Skipping...Warning: Image at index 411 has no bounding boxes. Skipping...
Warning: Image at index 5806 has no bounding boxes. Skipping...
Warning: Image at index 1559 has no bounding boxes. Skipping...
Warning: Image at index 409 has no bounding boxes. Skipping...
Warning: Image at index 4553 has no bounding boxes. Skipping...Warning: Image at index 5190 has no bounding boxes. Skipping...
Warning: Image at index 3657 has no bounding boxes. Skipping...Warning: Image at index 3805 has no bounding boxes. Skipping...
Warning: Image at index 2795 has no bounding boxes. Skipping...
Warning: Image at index 5862 has no bounding boxes. Skipping...
Warning: Image at index 6427 has no bounding boxes. Skipping...
Warning: Image at index 4478 has no bounding boxes. Skipping...
Warning: Image at index 2980 has no bounding boxes. Skipping...
Warning: Image at index 7698 has no bounding boxes. Skipping...Warning: Image at index 5415 has no bounding boxes. Skipping...
Warning: Image at index 6006 has no bounding boxes. Skipping...
Warning: Image at index 5817 has no bounding boxes. Skipping...Warning: Image at index 3462 has no bounding boxes. Skipping...Warning: Image at index 483 has no bounding boxes. Skipping...
Warning: Image at index 2560 has no bounding boxes. Skipping...
Warning: Image at index 6775 has no bounding boxes. Skipping...Warning: Image at index 2049 has no bounding boxes. Skipping...
Warning: Image at index 1543 has no bounding boxes. Skipping...
Warning: Image at index 558 has no bounding boxes. Skipping...Warning: Image at index 3660 has no bounding boxes. Skipping...
Warning: Image at index 2611 has no bounding boxes. Skipping...
Warning: Image at index 815 has no bounding boxes. Skipping...
Warning: Image at index 7484 has no bounding boxes. Skipping...Warning: Image at index 7933 has no bounding boxes. Skipping...Warning: Image at index 4339 has no bounding boxes. Skipping...Warning: Image at index 170 has no bounding boxes. Skipping...
Warning: Image at index 34 has no bounding boxes. Skipping...
Warning: Image at index 7680 has no bounding boxes. Skipping...Warning: Image at index 1441 has no bounding boxes. Skipping...Warning: Image at index 6096 has no bounding boxes. Skipping...
Warning: Image at index 5538 has no bounding boxes. Skipping...
Warning: Image at index 4727 has no bounding boxes. Skipping...Warning: Image at index 5609 has no bounding boxes. Skipping...Warning: Image at index 7411 has no bounding boxes. Skipping...
Warning: Image at index 6735 has no bounding boxes. Skipping...Warning: Image at index 950 has no bounding boxes. Skipping...Warning: Image at index 3857 has no bounding boxes. Skipping...Warning: Image at index 4503 has no bounding boxes. Skipping...
Warning: Image at index 6212 has no bounding boxes. Skipping...
Warning: Image at index 3887 has no bounding boxes. Skipping...Warning: Image at index 5686 has no bounding boxes. Skipping...Warning: Image at index 7516 has no bounding boxes. Skipping...
Warning: Image at index 2921 has no bounding boxes. Skipping...
Warning: Image at index 780 has no bounding boxes. Skipping...Warning: Image at index 1146 has no bounding boxes. Skipping...
Warning: Image at index 6330 has no bounding boxes. Skipping...
Warning: Image at index 2638 has no bounding boxes. Skipping...Warning: Image at index 5705 has no bounding boxes. Skipping...
Warning: Image at index 7093 has no bounding boxes. Skipping...Warning: Image at index 865 has no bounding boxes. Skipping...
Warning: Image at index 6532 has no bounding boxes. Skipping...
Warning: Image at index 5620 has no bounding boxes. Skipping...Warning: Image at index 995 has no bounding boxes. Skipping...
Warning: Image at index 7341 has no bounding boxes. Skipping...
Warning: Image at index 4438 has no bounding boxes. Skipping...
Warning: Image at index 3447 has no bounding boxes. Skipping...Warning: Image at index 1998 has no bounding boxes. Skipping...
Warning: Image at index 7936 has no bounding boxes. Skipping...
Warning: Image at index 2593 has no bounding boxes. Skipping...Warning: Image at index 6364 has no bounding boxes. Skipping...
Warning: Image at index 4060 has no bounding boxes. Skipping...
Warning: Image at index 2108 has no bounding boxes. Skipping...
Warning: Image at index 78 has no bounding boxes. Skipping...Warning: Image at index 3775 has no bounding boxes. Skipping...
Warning: Image at index 1367 has no bounding boxes. Skipping...
Warning: Image at index 7537 has no bounding boxes. Skipping...Warning: Image at index 5656 has no bounding boxes. Skipping...
Warning: Image at index 2705 has no bounding boxes. Skipping...
Warning: Image at index 5377 has no bounding boxes. Skipping...
Warning: Image at index 5233 has no bounding boxes. Skipping...
Warning: Image at index 4597 has no bounding boxes. Skipping...Warning: Image at index 6189 has no bounding boxes. Skipping...
Warning: Image at index 3424 has no bounding boxes. Skipping...Warning: Image at index 3650 has no bounding boxes. Skipping...
Warning: Image at index 6916 has no bounding boxes. Skipping...Warning: Image at index 7395 has no bounding boxes. Skipping...
Warning: Image at index 7434 has no bounding boxes. Skipping...
Warning: Image at index 2387 has no bounding boxes. Skipping...Warning: Image at index 3290 has no bounding boxes. Skipping...
Warning: Image at index 1372 has no bounding boxes. Skipping...Warning: Image at index 4882 has no bounding boxes. Skipping...
Warning: Image at index 5248 has no bounding boxes. Skipping...Warning: Image at index 5502 has no bounding boxes. Skipping...
Warning: Image at index 5994 has no bounding boxes. Skipping...Warning: Image at index 6521 has no bounding boxes. Skipping...
Warning: Image at index 5914 has no bounding boxes. Skipping...
Warning: Image at index 4511 has no bounding boxes. Skipping...Warning: Image at index 7815 has no bounding boxes. Skipping...Warning: Image at index 5489 has no bounding boxes. Skipping...
Warning: Image at index 6616 has no bounding boxes. Skipping...Warning: Image at index 7828 has no bounding boxes. Skipping...
Warning: Image at index 7884 has no bounding boxes. Skipping...
Warning: Image at index 3877 has no bounding boxes. Skipping...Warning: Image at index 399 has no bounding boxes. Skipping...
Warning: Image at index 5245 has no bounding boxes. Skipping...Warning: Image at index 5697 has no bounding boxes. Skipping...
Warning: Image at index 2106 has no bounding boxes. Skipping...
Warning: Image at index 6026 has no bounding boxes. Skipping...Warning: Image at index 7939 has no bounding boxes. Skipping...
Warning: Image at index 5500 has no bounding boxes. Skipping...
Warning: Image at index 3420 has no bounding boxes. Skipping...Warning: Image at index 96 has no bounding boxes. Skipping...
Warning: Image at index 4909 has no bounding boxes. Skipping...Warning: Image at index 5277 has no bounding boxes. Skipping...Warning: Image at index 6444 has no bounding boxes. Skipping...
Warning: Image at index 2790 has no bounding boxes. Skipping...Warning: Image at index 4412 has no bounding boxes. Skipping...
Warning: Image at index 430 has no bounding boxes. Skipping...
Warning: Image at index 7291 has no bounding boxes. Skipping...
Warning: Image at index 383 has no bounding boxes. Skipping...Warning: Image at index 3643 has no bounding boxes. Skipping...
Warning: Image at index 3676 has no bounding boxes. Skipping...
Warning: Image at index 1706 has no bounding boxes. Skipping...
Warning: Image at index 7246 has no bounding boxes. Skipping...Warning: Image at index 5951 has no bounding boxes. Skipping...
Warning: Image at index 7522 has no bounding boxes. Skipping...
Warning: Image at index 5371 has no bounding boxes. Skipping...Warning: Image at index 3388 has no bounding boxes. Skipping...
Warning: Image at index 6430 has no bounding boxes. Skipping...Warning: Image at index 3171 has no bounding boxes. Skipping...
Warning: Image at index 7085 has no bounding boxes. Skipping...
Warning: Image at index 2404 has no bounding boxes. Skipping...Warning: Image at index 7848 has no bounding boxes. Skipping...
Warning: Image at index 7520 has no bounding boxes. Skipping...
Warning: Image at index 8039 has no bounding boxes. Skipping...
Warning: Image at index 6044 has no bounding boxes. Skipping...
Warning: Image at index 4371 has no bounding boxes. Skipping...Warning: Image at index 4586 has no bounding boxes. Skipping...
Warning: Image at index 6641 has no bounding boxes. Skipping...
Warning: Image at index 2622 has no bounding boxes. Skipping...Warning: Image at index 1362 has no bounding boxes. Skipping...
Warning: Image at index 2013 has no bounding boxes. Skipping...
Warning: Image at index 6075 has no bounding boxes. Skipping...Warning: Image at index 4733 has no bounding boxes. Skipping...
Warning: Image at index 1089 has no bounding boxes. Skipping...Warning: Image at index 6730 has no bounding boxes. Skipping...
Warning: Image at index 3266 has no bounding boxes. Skipping...Warning: Image at index 2226 has no bounding boxes. Skipping...
Warning: Image at index 8225 has no bounding boxes. Skipping...
Warning: Image at index 3248 has no bounding boxes. Skipping...
Warning: Image at index 2901 has no bounding boxes. Skipping...
Warning: Image at index 4713 has no bounding boxes. Skipping...
Warning: Image at index 4853 has no bounding boxes. Skipping...
Warning: Image at index 548 has no bounding boxes. Skipping...
Warning: Image at index 127 has no bounding boxes. Skipping...
Warning: Image at index 136 has no bounding boxes. Skipping...Warning: Image at index 3565 has no bounding boxes. Skipping...
Warning: Image at index 855 has no bounding boxes. Skipping...
Warning: Image at index 6987 has no bounding boxes. Skipping...
Warning: Image at index 5499 has no bounding boxes. Skipping...Warning: Image at index 6652 has no bounding boxes. Skipping...
Warning: Image at index 4975 has no bounding boxes. Skipping...
Warning: Image at index 2763 has no bounding boxes. Skipping...Warning: Image at index 8133 has no bounding boxes. Skipping...
Warning: Image at index 7561 has no bounding boxes. Skipping...Warning: Image at index 7713 has no bounding boxes. Skipping...
Warning: Image at index 806 has no bounding boxes. Skipping...Warning: Image at index 187 has no bounding boxes. Skipping...
Warning: Image at index 7144 has no bounding boxes. Skipping...Warning: Image at index 6890 has no bounding boxes. Skipping...
Warning: Image at index 5325 has no bounding boxes. Skipping...Warning: Image at index 293 has no bounding boxes. Skipping...Warning: Image at index 4689 has no bounding boxes. Skipping...
Warning: Image at index 7746 has no bounding boxes. Skipping...
Warning: Image at index 1014 has no bounding boxes. Skipping...Warning: Image at index 8213 has no bounding boxes. Skipping...
Warning: Image at index 7073 has no bounding boxes. Skipping...Warning: Image at index 1294 has no bounding boxes. Skipping...
Warning: Image at index 4352 has no bounding boxes. Skipping...Warning: Image at index 1922 has no bounding boxes. Skipping...
Warning: Image at index 1458 has no bounding boxes. Skipping...
Warning: Image at index 2380 has no bounding boxes. Skipping...Warning: Image at index 2586 has no bounding boxes. Skipping...
Warning: Image at index 6545 has no bounding boxes. Skipping...Warning: Image at index 2957 has no bounding boxes. Skipping...
Warning: Image at index 3326 has no bounding boxes. Skipping...
Warning: Image at index 1716 has no bounding boxes. Skipping...Warning: Image at index 1525 has no bounding boxes. Skipping...
Warning: Image at index 6946 has no bounding boxes. Skipping...
Warning: Image at index 7860 has no bounding boxes. Skipping...
Warning: Image at index 8027 has no bounding boxes. Skipping...
Warning: Image at index 2438 has no bounding boxes. Skipping...Warning: Image at index 3438 has no bounding boxes. Skipping...Warning: Image at index 1742 has no bounding boxes. Skipping...
Warning: Image at index 319 has no bounding boxes. Skipping...Warning: Image at index 3154 has no bounding boxes. Skipping...Warning: Image at index 1783 has no bounding boxes. Skipping...Warning: Image at index 6712 has no bounding boxes. Skipping...
Warning: Image at index 501 has no bounding boxes. Skipping...Warning: Image at index 1357 has no bounding boxes. Skipping...
Warning: Image at index 6502 has no bounding boxes. Skipping...
Warning: Image at index 5406 has no bounding boxes. Skipping...
Warning: Image at index 1414 has no bounding boxes. Skipping...Warning: Image at index 6279 has no bounding boxes. Skipping...Warning: Image at index 2427 has no bounding boxes. Skipping...
Warning: Image at index 6787 has no bounding boxes. Skipping...
Warning: Image at index 377 has no bounding boxes. Skipping...
Warning: Image at index 5054 has no bounding boxes. Skipping...Warning: Image at index 932 has no bounding boxes. Skipping...
Warning: Image at index 5051 has no bounding boxes. Skipping...Warning: Image at index 1607 has no bounding boxes. Skipping...
Warning: Image at index 8032 has no bounding boxes. Skipping...
Warning: Image at index 7213 has no bounding boxes. Skipping...
Warning: Image at index 8087 has no bounding boxes. Skipping...Warning: Image at index 4665 has no bounding boxes. Skipping...
Warning: Image at index 8278 has no bounding boxes. Skipping...
Warning: Image at index 2909 has no bounding boxes. Skipping...
Warning: Image at index 167 has no bounding boxes. Skipping...
Warning: Image at index 3526 has no bounding boxes. Skipping...
Warning: Image at index 720 has no bounding boxes. Skipping...
Warning: Image at index 16 has no bounding boxes. Skipping...Warning: Image at index 3451 has no bounding boxes. Skipping...
Warning: Image at index 1781 has no bounding boxes. Skipping...Warning: Image at index 1779 has no bounding boxes. Skipping...
Warning: Image at index 3484 has no bounding boxes. Skipping...Warning: Image at index 2292 has no bounding boxes. Skipping...Warning: Image at index 7620 has no bounding boxes. Skipping...
Warning: Image at index 624 has no bounding boxes. Skipping...
Warning: Image at index 4828 has no bounding boxes. Skipping...
Warning: Image at index 8173 has no bounding boxes. Skipping...
Warning: Image at index 1122 has no bounding boxes. Skipping...
Warning: Image at index 2453 has no bounding boxes. Skipping...
Warning: Image at index 19 has no bounding boxes. Skipping...Warning: Image at index 7583 has no bounding boxes. Skipping...
Warning: Image at index 4063 has no bounding boxes. Skipping...
Warning: Image at index 627 has no bounding boxes. Skipping...
Warning: Image at index 5684 has no bounding boxes. Skipping...
Warning: Image at index 479 has no bounding boxes. Skipping...
Warning: Image at index 5683 has no bounding boxes. Skipping...
Warning: Image at index 2112 has no bounding boxes. Skipping...
Warning: Image at index 92 has no bounding boxes. Skipping...
Warning: Image at index 7794 has no bounding boxes. Skipping...
Warning: Image at index 4059 has no bounding boxes. Skipping...
Warning: Image at index 6038 has no bounding boxes. Skipping...
Warning: Image at index 7569 has no bounding boxes. Skipping...
Warning: Image at index 4881 has no bounding boxes. Skipping...Warning: Image at index 352 has no bounding boxes. Skipping...
Warning: Image at index 5025 has no bounding boxes. Skipping...
Warning: Image at index 6855 has no bounding boxes. Skipping...Warning: Image at index 7596 has no bounding boxes. Skipping...
Warning: Image at index 6762 has no bounding boxes. Skipping...Warning: Image at index 2960 has no bounding boxes. Skipping...
Warning: Image at index 3784 has no bounding boxes. Skipping...Warning: Image at index 3575 has no bounding boxes. Skipping...Warning: Image at index 6058 has no bounding boxes. Skipping...
Warning: Image at index 192 has no bounding boxes. Skipping...
Warning: Image at index 5583 has no bounding boxes. Skipping...
Warning: Image at index 5995 has no bounding boxes. Skipping...Warning: Image at index 7151 has no bounding boxes. Skipping...
Warning: Image at index 2065 has no bounding boxes. Skipping...
Warning: Image at index 4032 has no bounding boxes. Skipping...
Warning: Image at index 1904 has no bounding boxes. Skipping...Warning: Image at index 5240 has no bounding boxes. Skipping...
Warning: Image at index 5332 has no bounding boxes. Skipping...
Warning: Image at index 6059 has no bounding boxes. Skipping...
Warning: Image at index 2695 has no bounding boxes. Skipping...Warning: Image at index 1517 has no bounding boxes. Skipping...
Warning: Image at index 2836 has no bounding boxes. Skipping...Warning: Image at index 5521 has no bounding boxes. Skipping...Warning: Image at index 3930 has no bounding boxes. Skipping...
Warning: Image at index 289 has no bounding boxes. Skipping...
Warning: Image at index 5232 has no bounding boxes. Skipping...
Warning: Image at index 357 has no bounding boxes. Skipping...
Warning: Image at index 5353 has no bounding boxes. Skipping...
Warning: Image at index 5945 has no bounding boxes. Skipping...Warning: Image at index 5559 has no bounding boxes. Skipping...Warning: Image at index 1983 has no bounding boxes. Skipping...
Warning: Image at index 1511 has no bounding boxes. Skipping...Warning: Image at index 4722 has no bounding boxes. Skipping...
Warning: Image at index 6260 has no bounding boxes. Skipping...
Warning: Image at index 5870 has no bounding boxes. Skipping...Warning: Image at index 6513 has no bounding boxes. Skipping...Warning: Image at index 5067 has no bounding boxes. Skipping...
Warning: Image at index 8178 has no bounding boxes. Skipping...Warning: Image at index 2471 has no bounding boxes. Skipping...Warning: Image at index 2231 has no bounding boxes. Skipping...
Warning: Image at index 233 has no bounding boxes. Skipping...Warning: Image at index 4606 has no bounding boxes. Skipping...
Warning: Image at index 2297 has no bounding boxes. Skipping...
Warning: Image at index 6484 has no bounding boxes. Skipping...
Warning: Image at index 1613 has no bounding boxes. Skipping...Warning: Image at index 1636 has no bounding boxes. Skipping...
Warning: Image at index 3518 has no bounding boxes. Skipping...
Warning: Image at index 4699 has no bounding boxes. Skipping...
Warning: Image at index 7831 has no bounding boxes. Skipping...Warning: Image at index 1595 has no bounding boxes. Skipping...
Warning: Image at index 1395 has no bounding boxes. Skipping...
Warning: Image at index 5835 has no bounding boxes. Skipping...
Warning: Image at index 6405 has no bounding boxes. Skipping...
Warning: Image at index 6879 has no bounding boxes. Skipping...Warning: Image at index 4907 has no bounding boxes. Skipping...
Warning: Image at index 4739 has no bounding boxes. Skipping...Warning: Image at index 230 has no bounding boxes. Skipping...
Warning: Image at index 1493 has no bounding boxes. Skipping...
Warning: Image at index 5367 has no bounding boxes. Skipping...Warning: Image at index 7705 has no bounding boxes. Skipping...
Warning: Image at index 1675 has no bounding boxes. Skipping...
Warning: Image at index 5091 has no bounding boxes. Skipping...
Warning: Image at index 4801 has no bounding boxes. Skipping...
Warning: Image at index 3418 has no bounding boxes. Skipping...Warning: Image at index 6733 has no bounding boxes. Skipping...
Warning: Image at index 8189 has no bounding boxes. Skipping...
Warning: Image at index 7899 has no bounding boxes. Skipping...Warning: Image at index 4681 has no bounding boxes. Skipping...Warning: Image at index 560 has no bounding boxes. Skipping...
Warning: Image at index 4844 has no bounding boxes. Skipping...Warning: Image at index 3662 has no bounding boxes. Skipping...Warning: Image at index 2546 has no bounding boxes. Skipping...
Warning: Image at index 3759 has no bounding boxes. Skipping...
Warning: Image at index 3020 has no bounding boxes. Skipping...Warning: Image at index 2495 has no bounding boxes. Skipping...
Warning: Image at index 118 has no bounding boxes. Skipping...
Warning: Image at index 1407 has no bounding boxes. Skipping...
Warning: Image at index 6858 has no bounding boxes. Skipping...
Warning: Image at index 5985 has no bounding boxes. Skipping...
Warning: Image at index 4979 has no bounding boxes. Skipping...
Warning: Image at index 1790 has no bounding boxes. Skipping...
Warning: Image at index 7370 has no bounding boxes. Skipping...Warning: Image at index 4880 has no bounding boxes. Skipping...
Warning: Image at index 2859 has no bounding boxes. Skipping...
Warning: Image at index 840 has no bounding boxes. Skipping...
Warning: Image at index 5290 has no bounding boxes. Skipping...
Warning: Image at index 1374 has no bounding boxes. Skipping...Warning: Image at index 8122 has no bounding boxes. Skipping...
Warning: Image at index 6508 has no bounding boxes. Skipping...Warning: Image at index 7852 has no bounding boxes. Skipping...
Warning: Image at index 6554 has no bounding boxes. Skipping...Warning: Image at index 5364 has no bounding boxes. Skipping...
Warning: Image at index 2316 has no bounding boxes. Skipping...
Warning: Image at index 6485 has no bounding boxes. Skipping...
Warning: Image at index 7553 has no bounding boxes. Skipping...
Warning: Image at index 835 has no bounding boxes. Skipping...
Warning: Image at index 2881 has no bounding boxes. Skipping...Warning: Image at index 6160 has no bounding boxes. Skipping...
Warning: Image at index 4185 has no bounding boxes. Skipping...Warning: Image at index 4957 has no bounding boxes. Skipping...Warning: Image at index 2500 has no bounding boxes. Skipping...
Warning: Image at index 7039 has no bounding boxes. Skipping...Warning: Image at index 4884 has no bounding boxes. Skipping...Warning: Image at index 7855 has no bounding boxes. Skipping...
Warning: Image at index 1766 has no bounding boxes. Skipping...
Warning: Image at index 837 has no bounding boxes. Skipping...
Warning: Image at index 2595 has no bounding boxes. Skipping...Warning: Image at index 5955 has no bounding boxes. Skipping...Warning: Image at index 8177 has no bounding boxes. Skipping...
Warning: Image at index 5903 has no bounding boxes. Skipping...
Warning: Image at index 5597 has no bounding boxes. Skipping...Warning: Image at index 1797 has no bounding boxes. Skipping...Warning: Image at index 150 has no bounding boxes. Skipping...
Warning: Image at index 1678 has no bounding boxes. Skipping...
Warning: Image at index 4630 has no bounding boxes. Skipping...
Warning: Image at index 2151 has no bounding boxes. Skipping...Warning: Image at index 7737 has no bounding boxes. Skipping...
Warning: Image at index 3621 has no bounding boxes. Skipping...Warning: Image at index 5706 has no bounding boxes. Skipping...
Warning: Image at index 7384 has no bounding boxes. Skipping...
Warning: Image at index 1795 has no bounding boxes. Skipping...Warning: Image at index 6891 has no bounding boxes. Skipping...Warning: Image at index 3566 has no bounding boxes. Skipping...
Warning: Image at index 863 has no bounding boxes. Skipping...
Warning: Image at index 4908 has no bounding boxes. Skipping...Warning: Image at index 7461 has no bounding boxes. Skipping...
Warning: Image at index 3370 has no bounding boxes. Skipping...
Warning: Image at index 6703 has no bounding boxes. Skipping...Warning: Image at index 3697 has no bounding boxes. Skipping...Warning: Image at index 3601 has no bounding boxes. Skipping...Warning: Image at index 4113 has no bounding boxes. Skipping...
Warning: Image at index 884 has no bounding boxes. Skipping...
Warning: Image at index 1302 has no bounding boxes. Skipping...
Warning: Image at index 4435 has no bounding boxes. Skipping...
Warning: Image at index 5134 has no bounding boxes. Skipping...
Warning: Image at index 7656 has no bounding boxes. Skipping...Warning: Image at index 211 has no bounding boxes. Skipping...Warning: Image at index 7990 has no bounding boxes. Skipping...
Warning: Image at index 3622 has no bounding boxes. Skipping...
Warning: Image at index 214 has no bounding boxes. Skipping...Warning: Image at index 5284 has no bounding boxes. Skipping...
Warning: Image at index 5704 has no bounding boxes. Skipping...Warning: Image at index 8079 has no bounding boxes. Skipping...
Warning: Image at index 6507 has no bounding boxes. Skipping...
Warning: Image at index 3016 has no bounding boxes. Skipping...Warning: Image at index 7882 has no bounding boxes. Skipping...Warning: Image at index 1548 has no bounding boxes. Skipping...
Warning: Image at index 6250 has no bounding boxes. Skipping...
Warning: Image at index 2254 has no bounding boxes. Skipping...Warning: Image at index 2885 has no bounding boxes. Skipping...
Warning: Image at index 6148 has no bounding boxes. Skipping...
Warning: Image at index 3142 has no bounding boxes. Skipping...
Warning: Image at index 2308 has no bounding boxes. Skipping...
Warning: Image at index 1719 has no bounding boxes. Skipping...Warning: Image at index 3316 has no bounding boxes. Skipping...
Warning: Image at index 5822 has no bounding boxes. Skipping...Warning: Image at index 6469 has no bounding boxes. Skipping...
Warning: Image at index 5506 has no bounding boxes. Skipping...
Warning: Image at index 2455 has no bounding boxes. Skipping...Warning: Image at index 55 has no bounding boxes. Skipping...
Warning: Image at index 684 has no bounding boxes. Skipping...
Warning: Image at index 6022 has no bounding boxes. Skipping...
Warning: Image at index 4918 has no bounding boxes. Skipping...Warning: Image at index 4432 has no bounding boxes. Skipping...
Warning: Image at index 1771 has no bounding boxes. Skipping...Warning: Image at index 1829 has no bounding boxes. Skipping...
Warning: Image at index 1571 has no bounding boxes. Skipping...
Warning: Image at index 2047 has no bounding boxes. Skipping...
Warning: Image at index 7072 has no bounding boxes. Skipping...
Warning: Image at index 7004 has no bounding boxes. Skipping...
Warning: Image at index 2333 has no bounding boxes. Skipping...
Warning: Image at index 5692 has no bounding boxes. Skipping...
Warning: Image at index 917 has no bounding boxes. Skipping...Warning: Image at index 478 has no bounding boxes. Skipping...
Warning: Image at index 7303 has no bounding boxes. Skipping...
Warning: Image at index 3795 has no bounding boxes. Skipping...
Warning: Image at index 5628 has no bounding boxes. Skipping...Warning: Image at index 1827 has no bounding boxes. Skipping...Warning: Image at index 2516 has no bounding boxes. Skipping...
Warning: Image at index 3127 has no bounding boxes. Skipping...
Warning: Image at index 2282 has no bounding boxes. Skipping...Warning: Image at index 4941 has no bounding boxes. Skipping...
Warning: Image at index 4546 has no bounding boxes. Skipping...Warning: Image at index 6964 has no bounding boxes. Skipping...
Warning: Image at index 5361 has no bounding boxes. Skipping...
Warning: Image at index 6233 has no bounding boxes. Skipping...
Warning: Image at index 5153 has no bounding boxes. Skipping...
Warning: Image at index 2706 has no bounding boxes. Skipping...
Warning: Image at index 3694 has no bounding boxes. Skipping...
Warning: Image at index 8166 has no bounding boxes. Skipping...Warning: Image at index 7129 has no bounding boxes. Skipping...
Warning: Image at index 850 has no bounding boxes. Skipping...
Warning: Image at index 6504 has no bounding boxes. Skipping...
Warning: Image at index 3054 has no bounding boxes. Skipping...
Warning: Image at index 320 has no bounding boxes. Skipping...Warning: Image at index 8009 has no bounding boxes. Skipping...
Warning: Image at index 7486 has no bounding boxes. Skipping...
Warning: Image at index 571 has no bounding boxes. Skipping...Warning: Image at index 1176 has no bounding boxes. Skipping...
Warning: Image at index 1780 has no bounding boxes. Skipping...Warning: Image at index 6126 has no bounding boxes. Skipping...
Warning: Image at index 1255 has no bounding boxes. Skipping...
Warning: Image at index 692 has no bounding boxes. Skipping...
Warning: Image at index 2941 has no bounding boxes. Skipping...
Warning: Image at index 1371 has no bounding boxes. Skipping...Warning: Image at index 6560 has no bounding boxes. Skipping...Warning: Image at index 223 has no bounding boxes. Skipping...
Warning: Image at index 3627 has no bounding boxes. Skipping...Warning: Image at index 3302 has no bounding boxes. Skipping...Warning: Image at index 9 has no bounding boxes. Skipping...
Warning: Image at index 7993 has no bounding boxes. Skipping...
Warning: Image at index 2025 has no bounding boxes. Skipping...
Warning: Image at index 5062 has no bounding boxes. Skipping...
Warning: Image at index 7168 has no bounding boxes. Skipping...
Warning: Image at index 2889 has no bounding boxes. Skipping...
Warning: Image at index 590 has no bounding boxes. Skipping...Warning: Image at index 7440 has no bounding boxes. Skipping...
Warning: Image at index 481 has no bounding boxes. Skipping...
Warning: Image at index 2343 has no bounding boxes. Skipping...
Warning: Image at index 3174 has no bounding boxes. Skipping...
Warning: Image at index 4315 has no bounding boxes. Skipping...
Warning: Image at index 3282 has no bounding boxes. Skipping...
Warning: Image at index 3187 has no bounding boxes. Skipping...Warning: Image at index 7604 has no bounding boxes. Skipping...
Warning: Image at index 1309 has no bounding boxes. Skipping...
Warning: Image at index 2977 has no bounding boxes. Skipping...
Warning: Image at index 3654 has no bounding boxes. Skipping...
Warning: Image at index 2771 has no bounding boxes. Skipping...Warning: Image at index 53 has no bounding boxes. Skipping...
Warning: Image at index 7124 has no bounding boxes. Skipping...
Warning: Image at index 3951 has no bounding boxes. Skipping...
Warning: Image at index 1208 has no bounding boxes. Skipping...
Warning: Image at index 603 has no bounding boxes. Skipping...Warning: Image at index 1150 has no bounding boxes. Skipping...Warning: Image at index 7123 has no bounding boxes. Skipping...
Warning: Image at index 6179 has no bounding boxes. Skipping...
Warning: Image at index 3275 has no bounding boxes. Skipping...
Warning: Image at index 6118 has no bounding boxes. Skipping...
Warning: Image at index 1540 has no bounding boxes. Skipping...
Warning: Image at index 5957 has no bounding boxes. Skipping...Warning: Image at index 5356 has no bounding boxes. Skipping...Warning: Image at index 2009 has no bounding boxes. Skipping...
Warning: Image at index 3703 has no bounding boxes. Skipping...
Warning: Image at index 7019 has no bounding boxes. Skipping...Warning: Image at index 963 has no bounding boxes. Skipping...Warning: Image at index 2206 has no bounding boxes. Skipping...
Warning: Image at index 1051 has no bounding boxes. Skipping...
Warning: Image at index 7942 has no bounding boxes. Skipping...Warning: Image at index 7394 has no bounding boxes. Skipping...
Warning: Image at index 6682 has no bounding boxes. Skipping...
Warning: Image at index 6711 has no bounding boxes. Skipping...
Warning: Image at index 4528 has no bounding boxes. Skipping...
Warning: Image at index 3214 has no bounding boxes. Skipping...
Warning: Image at index 7108 has no bounding boxes. Skipping...Warning: Image at index 4512 has no bounding boxes. Skipping...
Warning: Image at index 6295 has no bounding boxes. Skipping...
Warning: Image at index 5275 has no bounding boxes. Skipping...Warning: Image at index 1822 has no bounding boxes. Skipping...
Warning: Image at index 6354 has no bounding boxes. Skipping...Warning: Image at index 1332 has no bounding boxes. Skipping...
Warning: Image at index 1197 has no bounding boxes. Skipping...Warning: Image at index 6561 has no bounding boxes. Skipping...
Warning: Image at index 6177 has no bounding boxes. Skipping...
Warning: Image at index 4981 has no bounding boxes. Skipping...
Warning: Image at index 1383 has no bounding boxes. Skipping...
Warning: Image at index 1772 has no bounding boxes. Skipping...Warning: Image at index 5934 has no bounding boxes. Skipping...
Warning: Image at index 5633 has no bounding boxes. Skipping...
Warning: Image at index 6542 has no bounding boxes. Skipping...Warning: Image at index 2959 has no bounding boxes. Skipping...
Warning: Image at index 5255 has no bounding boxes. Skipping...
Warning: Image at index 2979 has no bounding boxes. Skipping...
Warning: Image at index 4130 has no bounding boxes. Skipping...Warning: Image at index 6049 has no bounding boxes. Skipping...
Warning: Image at index 8106 has no bounding boxes. Skipping...Warning: Image at index 7716 has no bounding boxes. Skipping...Warning: Image at index 8270 has no bounding boxes. Skipping...
Warning: Image at index 5434 has no bounding boxes. Skipping...
Warning: Image at index 4022 has no bounding boxes. Skipping...
Warning: Image at index 5673 has no bounding boxes. Skipping...Warning: Image at index 5669 has no bounding boxes. Skipping...
Warning: Image at index 3026 has no bounding boxes. Skipping...
Warning: Image at index 5979 has no bounding boxes. Skipping...
Warning: Image at index 2620 has no bounding boxes. Skipping...
Warning: Image at index 3817 has no bounding boxes. Skipping...Warning: Image at index 428 has no bounding boxes. Skipping...
Warning: Image at index 7012 has no bounding boxes. Skipping...Warning: Image at index 8004 has no bounding boxes. Skipping...Warning: Image at index 2733 has no bounding boxes. Skipping...
Warning: Image at index 3219 has no bounding boxes. Skipping...
Warning: Image at index 8060 has no bounding boxes. Skipping...Warning: Image at index 2147 has no bounding boxes. Skipping...
Warning: Image at index 129 has no bounding boxes. Skipping...
Warning: Image at index 6113 has no bounding boxes. Skipping...Warning: Image at index 7854 has no bounding boxes. Skipping...
Warning: Image at index 4441 has no bounding boxes. Skipping...
Warning: Image at index 5066 has no bounding boxes. Skipping...
Warning: Image at index 3454 has no bounding boxes. Skipping...
Warning: Image at index 4633 has no bounding boxes. Skipping...Warning: Image at index 7064 has no bounding boxes. Skipping...
Warning: Image at index 2735 has no bounding boxes. Skipping...
Warning: Image at index 4314 has no bounding boxes. Skipping...
Warning: Image at index 2100 has no bounding boxes. Skipping...
Warning: Image at index 2190 has no bounding boxes. Skipping...Warning: Image at index 7952 has no bounding boxes. Skipping...Warning: Image at index 2898 has no bounding boxes. Skipping...
Warning: Image at index 4013 has no bounding boxes. Skipping...
Warning: Image at index 6892 has no bounding boxes. Skipping...Warning: Image at index 4408 has no bounding boxes. Skipping...
Warning: Image at index 525 has no bounding boxes. Skipping...Warning: Image at index 724 has no bounding boxes. Skipping...
Warning: Image at index 6672 has no bounding boxes. Skipping...
Warning: Image at index 2073 has no bounding boxes. Skipping...
Warning: Image at index 299 has no bounding boxes. Skipping...
Warning: Image at index 4054 has no bounding boxes. Skipping...
Warning: Image at index 5556 has no bounding boxes. Skipping...Warning: Image at index 7800 has no bounding boxes. Skipping...
Warning: Image at index 5569 has no bounding boxes. Skipping...
Warning: Image at index 792 has no bounding boxes. Skipping...
Warning: Image at index 4575 has no bounding boxes. Skipping...
Warning: Image at index 1052 has no bounding boxes. Skipping...Warning: Image at index 5539 has no bounding boxes. Skipping...Warning: Image at index 3806 has no bounding boxes. Skipping...
Warning: Image at index 4029 has no bounding boxes. Skipping...
Warning: Image at index 4062 has no bounding boxes. Skipping...
Warning: Image at index 2184 has no bounding boxes. Skipping...
Warning: Image at index 7420 has no bounding boxes. Skipping...Warning: Image at index 7228 has no bounding boxes. Skipping...
Warning: Image at index 3090 has no bounding boxes. Skipping...Warning: Image at index 2320 has no bounding boxes. Skipping...
Warning: Image at index 5293 has no bounding boxes. Skipping...
Warning: Image at index 4298 has no bounding boxes. Skipping...Warning: Image at index 6192 has no bounding boxes. Skipping...
Warning: Image at index 4146 has no bounding boxes. Skipping...
Warning: Image at index 561 has no bounding boxes. Skipping...
Warning: Image at index 8195 has no bounding boxes. Skipping...Warning: Image at index 401 has no bounding boxes. Skipping...
Warning: Image at index 8015 has no bounding boxes. Skipping...
Warning: Image at index 274 has no bounding boxes. Skipping...Warning: Image at index 8215 has no bounding boxes. Skipping...
Warning: Image at index 1832 has no bounding boxes. Skipping...
Warning: Image at index 3067 has no bounding boxes. Skipping...Warning: Image at index 768 has no bounding boxes. Skipping...
Warning: Image at index 3638 has no bounding boxes. Skipping...
Warning: Image at index 3262 has no bounding boxes. Skipping...Warning: Image at index 6481 has no bounding boxes. Skipping...Warning: Image at index 1025 has no bounding boxes. Skipping...Warning: Image at index 6140 has no bounding boxes. Skipping...
Warning: Image at index 7159 has no bounding boxes. Skipping...Warning: Image at index 4620 has no bounding boxes. Skipping...
Warning: Image at index 5735 has no bounding boxes. Skipping...Warning: Image at index 468 has no bounding boxes. Skipping...Warning: Image at index 251 has no bounding boxes. Skipping...
Warning: Image at index 2386 has no bounding boxes. Skipping...Warning: Image at index 2339 has no bounding boxes. Skipping...
Warning: Image at index 3568 has no bounding boxes. Skipping...
Warning: Image at index 4225 has no bounding boxes. Skipping...
Warning: Image at index 5140 has no bounding boxes. Skipping...
Warning: Image at index 2642 has no bounding boxes. Skipping...
Warning: Image at index 5085 has no bounding boxes. Skipping...
Warning: Image at index 2464 has no bounding boxes. Skipping...Warning: Image at index 4702 has no bounding boxes. Skipping...Warning: Image at index 4362 has no bounding boxes. Skipping...
Warning: Image at index 805 has no bounding boxes. Skipping...
Warning: Image at index 2746 has no bounding boxes. Skipping...
Warning: Image at index 1099 has no bounding boxes. Skipping...
Warning: Image at index 3286 has no bounding boxes. Skipping...Warning: Image at index 2135 has no bounding boxes. Skipping...
Warning: Image at index 8033 has no bounding boxes. Skipping...
Warning: Image at index 7736 has no bounding boxes. Skipping...
Warning: Image at index 6335 has no bounding boxes. Skipping...
Warning: Image at index 6713 has no bounding boxes. Skipping...Warning: Image at index 2149 has no bounding boxes. Skipping...Warning: Image at index 6298 has no bounding boxes. Skipping...Warning: Image at index 6235 has no bounding boxes. Skipping...
Warning: Image at index 3215 has no bounding boxes. Skipping...
Warning: Image at index 154 has no bounding boxes. Skipping...
Warning: Image at index 3978 has no bounding boxes. Skipping...
Warning: Image at index 7898 has no bounding boxes. Skipping...
Warning: Image at index 2004 has no bounding boxes. Skipping...
Warning: Image at index 7801 has no bounding boxes. Skipping...Warning: Image at index 1620 has no bounding boxes. Skipping...Warning: Image at index 6801 has no bounding boxes. Skipping...
Warning: Image at index 6790 has no bounding boxes. Skipping...
Warning: Image at index 6462 has no bounding boxes. Skipping...Warning: Image at index 8142 has no bounding boxes. Skipping...
Warning: Image at index 4069 has no bounding boxes. Skipping...
Warning: Image at index 4257 has no bounding boxes. Skipping...
Warning: Image at index 7393 has no bounding boxes. Skipping...
Warning: Image at index 7767 has no bounding boxes. Skipping...Warning: Image at index 6261 has no bounding boxes. Skipping...
Warning: Image at index 3974 has no bounding boxes. Skipping...
Warning: Image at index 7890 has no bounding boxes. Skipping...
Warning: Image at index 4324 has no bounding boxes. Skipping...
Warning: Image at index 3876 has no bounding boxes. Skipping...
Warning: Image at index 2848 has no bounding boxes. Skipping...Warning: Image at index 4745 has no bounding boxes. Skipping...
Warning: Image at index 4660 has no bounding boxes. Skipping...
Warning: Image at index 2384 has no bounding boxes. Skipping...
Warning: Image at index 2314 has no bounding boxes. Skipping...Warning: Image at index 4926 has no bounding boxes. Skipping...
Warning: Image at index 2093 has no bounding boxes. Skipping...
Warning: Image at index 7379 has no bounding boxes. Skipping...Warning: Image at index 2379 has no bounding boxes. Skipping...Warning: Image at index 6833 has no bounding boxes. Skipping...
Warning: Image at index 964 has no bounding boxes. Skipping...Warning: Image at index 6419 has no bounding boxes. Skipping...
Warning: Image at index 101 has no bounding boxes. Skipping...Warning: Image at index 8103 has no bounding boxes. Skipping...
Warning: Image at index 1390 has no bounding boxes. Skipping...Warning: Image at index 5144 has no bounding boxes. Skipping...
Warning: Image at index 6277 has no bounding boxes. Skipping...
Warning: Image at index 3444 has no bounding boxes. Skipping...Warning: Image at index 4014 has no bounding boxes. Skipping...
Warning: Image at index 7606 has no bounding boxes. Skipping...Warning: Image at index 2182 has no bounding boxes. Skipping...
Warning: Image at index 7267 has no bounding boxes. Skipping...
Warning: Image at index 389 has no bounding boxes. Skipping...
Warning: Image at index 5695 has no bounding boxes. Skipping...Warning: Image at index 5374 has no bounding boxes. Skipping...
Warning: Image at index 3368 has no bounding boxes. Skipping...Warning: Image at index 2648 has no bounding boxes. Skipping...
Warning: Image at index 2599 has no bounding boxes. Skipping...
Warning: Image at index 2081 has no bounding boxes. Skipping...Warning: Image at index 2879 has no bounding boxes. Skipping...
Warning: Image at index 7759 has no bounding boxes. Skipping...Warning: Image at index 7259 has no bounding boxes. Skipping...
Warning: Image at index 1936 has no bounding boxes. Skipping...
Warning: Image at index 7706 has no bounding boxes. Skipping...
Warning: Image at index 359 has no bounding boxes. Skipping...Warning: Image at index 5733 has no bounding boxes. Skipping...
Warning: Image at index 5840 has no bounding boxes. Skipping...
Warning: Image at index 3548 has no bounding boxes. Skipping...Warning: Image at index 1896 has no bounding boxes. Skipping...
Warning: Image at index 660 has no bounding boxes. Skipping...
Warning: Image at index 3346 has no bounding boxes. Skipping...
Warning: Image at index 283 has no bounding boxes. Skipping...
Warning: Image at index 6772 has no bounding boxes. Skipping...Warning: Image at index 968 has no bounding boxes. Skipping...Warning: Image at index 7242 has no bounding boxes. Skipping...
Warning: Image at index 7077 has no bounding boxes. Skipping...
Warning: Image at index 1055 has no bounding boxes. Skipping...
Warning: Image at index 1978 has no bounding boxes. Skipping...
Warning: Image at index 5563 has no bounding boxes. Skipping...
Warning: Image at index 4203 has no bounding boxes. Skipping...
Warning: Image at index 4338 has no bounding boxes. Skipping...
Warning: Image at index 2761 has no bounding boxes. Skipping...
Warning: Image at index 7661 has no bounding boxes. Skipping...
Warning: Image at index 5946 has no bounding boxes. Skipping...
Warning: Image at index 8117 has no bounding boxes. Skipping...Warning: Image at index 2370 has no bounding boxes. Skipping...
Warning: Image at index 5031 has no bounding boxes. Skipping...
Warning: Image at index 5427 has no bounding boxes. Skipping...
Warning: Image at index 2883 has no bounding boxes. Skipping...Warning: Image at index 4705 has no bounding boxes. Skipping...
Warning: Image at index 5772 has no bounding boxes. Skipping...
Warning: Image at index 7091 has no bounding boxes. Skipping...Warning: Image at index 7125 has no bounding boxes. Skipping...
Warning: Image at index 6540 has no bounding boxes. Skipping...
Warning: Image at index 1756 has no bounding boxes. Skipping...Warning: Image at index 7915 has no bounding boxes. Skipping...
Warning: Image at index 2727 has no bounding boxes. Skipping...
Warning: Image at index 5768 has no bounding boxes. Skipping...
Warning: Image at index 2463 has no bounding boxes. Skipping...
Warning: Image at index 4684 has no bounding boxes. Skipping...
Warning: Image at index 1391 has no bounding boxes. Skipping...
Warning: Image at index 5472 has no bounding boxes. Skipping...
Warning: Image at index 51 has no bounding boxes. Skipping...
Warning: Image at index 5823 has no bounding boxes. Skipping...
Warning: Image at index 1912 has no bounding boxes. Skipping...
Warning: Image at index 7375 has no bounding boxes. Skipping...Warning: Image at index 6452 has no bounding boxes. Skipping...Warning: Image at index 5648 has no bounding boxes. Skipping...
Warning: Image at index 114 has no bounding boxes. Skipping...
Warning: Image at index 1206 has no bounding boxes. Skipping...
Warning: Image at index 3533 has no bounding boxes. Skipping...
Warning: Image at index 3168 has no bounding boxes. Skipping...
Warning: Image at index 8006 has no bounding boxes. Skipping...
Warning: Image at index 678 has no bounding boxes. Skipping...
Warning: Image at index 4467 has no bounding boxes. Skipping...
Warning: Image at index 3789 has no bounding boxes. Skipping...Warning: Image at index 517 has no bounding boxes. Skipping...
Warning: Image at index 2408 has no bounding boxes. Skipping...
Warning: Image at index 1768 has no bounding boxes. Skipping...Warning: Image at index 5723 has no bounding boxes. Skipping...
Warning: Image at index 1560 has no bounding boxes. Skipping...
Warning: Image at index 7536 has no bounding boxes. Skipping...Warning: Image at index 784 has no bounding boxes. Skipping...
Warning: Image at index 5037 has no bounding boxes. Skipping...Warning: Image at index 3716 has no bounding boxes. Skipping...
Warning: Image at index 2161 has no bounding boxes. Skipping...
Warning: Image at index 7999 has no bounding boxes. Skipping...
Warning: Image at index 5941 has no bounding boxes. Skipping...Warning: Image at index 1478 has no bounding boxes. Skipping...Warning: Image at index 1553 has no bounding boxes. Skipping...
Warning: Image at index 6827 has no bounding boxes. Skipping...
Warning: Image at index 3800 has no bounding boxes. Skipping...
Warning: Image at index 7587 has no bounding boxes. Skipping...Warning: Image at index 5274 has no bounding boxes. Skipping...
Warning: Image at index 7780 has no bounding boxes. Skipping...Warning: Image at index 21 has no bounding boxes. Skipping...
Warning: Image at index 268 has no bounding boxes. Skipping...
Warning: Image at index 729 has no bounding boxes. Skipping...
Warning: Image at index 7968 has no bounding boxes. Skipping...Warning: Image at index 3942 has no bounding boxes. Skipping...
Warning: Image at index 3308 has no bounding boxes. Skipping...
Warning: Image at index 8261 has no bounding boxes. Skipping...Warning: Image at index 4393 has no bounding boxes. Skipping...
Warning: Image at index 7289 has no bounding boxes. Skipping...Warning: Image at index 553 has no bounding boxes. Skipping...
Warning: Image at index 8210 has no bounding boxes. Skipping...
Warning: Image at index 6339 has no bounding boxes. Skipping...
Warning: Image at index 2114 has no bounding boxes. Skipping...
Warning: Image at index 249 has no bounding boxes. Skipping...Warning: Image at index 7811 has no bounding boxes. Skipping...
Warning: Image at index 3430 has no bounding boxes. Skipping...Warning: Image at index 236 has no bounding boxes. Skipping...
Warning: Image at index 1649 has no bounding boxes. Skipping...Warning: Image at index 3488 has no bounding boxes. Skipping...
Warning: Image at index 3871 has no bounding boxes. Skipping...
Warning: Image at index 2109 has no bounding boxes. Skipping...Warning: Image at index 7369 has no bounding boxes. Skipping...
Warning: Image at index 402 has no bounding boxes. Skipping...Warning: Image at index 2864 has no bounding boxes. Skipping...
Warning: Image at index 1545 has no bounding boxes. Skipping...
Warning: Image at index 2676 has no bounding boxes. Skipping...
Warning: Image at index 6584 has no bounding boxes. Skipping...
Warning: Image at index 5874 has no bounding boxes. Skipping...Warning: Image at index 6577 has no bounding boxes. Skipping...
Warning: Image at index 3118 has no bounding boxes. Skipping...
Warning: Image at index 3613 has no bounding boxes. Skipping...Warning: Image at index 1502 has no bounding boxes. Skipping...
Warning: Image at index 578 has no bounding boxes. Skipping...
Warning: Image at index 321 has no bounding boxes. Skipping...Warning: Image at index 3283 has no bounding boxes. Skipping...
Warning: Image at index 6549 has no bounding boxes. Skipping...Warning: Image at index 2402 has no bounding boxes. Skipping...Warning: Image at index 5921 has no bounding boxes. Skipping...
Warning: Image at index 6620 has no bounding boxes. Skipping...Warning: Image at index 3831 has no bounding boxes. Skipping...
Warning: Image at index 3700 has no bounding boxes. Skipping...
Warning: Image at index 3521 has no bounding boxes. Skipping...Warning: Image at index 126 has no bounding boxes. Skipping...
Warning: Image at index 5762 has no bounding boxes. Skipping...
Warning: Image at index 7752 has no bounding boxes. Skipping...Warning: Image at index 7458 has no bounding boxes. Skipping...
Warning: Image at index 3468 has no bounding boxes. Skipping...Warning: Image at index 2225 has no bounding boxes. Skipping...Warning: Image at index 6194 has no bounding boxes. Skipping...
Warning: Image at index 3186 has no bounding boxes. Skipping...
Warning: Image at index 2196 has no bounding boxes. Skipping...Warning: Image at index 5560 has no bounding boxes. Skipping...Warning: Image at index 7627 has no bounding boxes. Skipping...
Warning: Image at index 4931 has no bounding boxes. Skipping...
Warning: Image at index 4047 has no bounding boxes. Skipping...
Warning: Image at index 7140 has no bounding boxes. Skipping...
Warning: Image at index 4134 has no bounding boxes. Skipping...Warning: Image at index 6848 has no bounding boxes. Skipping...
Warning: Image at index 7044 has no bounding boxes. Skipping...
Warning: Image at index 3015 has no bounding boxes. Skipping...
Warning: Image at index 4650 has no bounding boxes. Skipping...
Warning: Image at index 2564 has no bounding boxes. Skipping...
Warning: Image at index 1903 has no bounding boxes. Skipping...Warning: Image at index 2465 has no bounding boxes. Skipping...
Warning: Image at index 2545 has no bounding boxes. Skipping...
Warning: Image at index 5154 has no bounding boxes. Skipping...
Warning: Image at index 1246 has no bounding boxes. Skipping...
Warning: Image at index 1027 has no bounding boxes. Skipping...
Warning: Image at index 879 has no bounding boxes. Skipping...
Warning: Image at index 4716 has no bounding boxes. Skipping...
Warning: Image at index 5848 has no bounding boxes. Skipping...Warning: Image at index 7755 has no bounding boxes. Skipping...
Warning: Image at index 1547 has no bounding boxes. Skipping...
Warning: Image at index 5778 has no bounding boxes. Skipping...
Warning: Image at index 6865 has no bounding boxes. Skipping...
Warning: Image at index 7354 has no bounding boxes. Skipping...Warning: Image at index 2430 has no bounding boxes. Skipping...
Warning: Image at index 5115 has no bounding boxes. Skipping...Warning: Image at index 4578 has no bounding boxes. Skipping...
Warning: Image at index 3101 has no bounding boxes. Skipping...Warning: Image at index 3706 has no bounding boxes. Skipping...
Warning: Image at index 2565 has no bounding boxes. Skipping...
Warning: Image at index 7290 has no bounding boxes. Skipping...Warning: Image at index 3771 has no bounding boxes. Skipping...
Warning: Image at index 1450 has no bounding boxes. Skipping...
Warning: Image at index 8221 has no bounding boxes. Skipping...Warning: Image at index 7786 has no bounding boxes. Skipping...
Warning: Image at index 680 has no bounding boxes. Skipping...
Warning: Image at index 8057 has no bounding boxes. Skipping...Warning: Image at index 7809 has no bounding boxes. Skipping...Warning: Image at index 345 has no bounding boxes. Skipping...
Warning: Image at index 6299 has no bounding boxes. Skipping...
Warning: Image at index 5791 has no bounding boxes. Skipping...
Warning: Image at index 6019 has no bounding boxes. Skipping...
Warning: Image at index 2696 has no bounding boxes. Skipping...Warning: Image at index 185 has no bounding boxes. Skipping...
Warning: Image at index 7849 has no bounding boxes. Skipping...Warning: Image at index 8155 has no bounding boxes. Skipping...
Warning: Image at index 5637 has no bounding boxes. Skipping...
Warning: Image at index 542 has no bounding boxes. Skipping...Warning: Image at index 4077 has no bounding boxes. Skipping...
Warning: Image at index 7494 has no bounding boxes. Skipping...
Warning: Image at index 6977 has no bounding boxes. Skipping...
Warning: Image at index 509 has no bounding boxes. Skipping...Warning: Image at index 317 has no bounding boxes. Skipping...Warning: Image at index 2033 has no bounding boxes. Skipping...
Warning: Image at index 4730 has no bounding boxes. Skipping...Warning: Image at index 7277 has no bounding boxes. Skipping...Warning: Image at index 2835 has no bounding boxes. Skipping...
Warning: Image at index 1364 has no bounding boxes. Skipping...Warning: Image at index 7791 has no bounding boxes. Skipping...
Warning: Image at index 1474 has no bounding boxes. Skipping...
Warning: Image at index 4175 has no bounding boxes. Skipping...Warning: Image at index 5003 has no bounding boxes. Skipping...
Warning: Image at index 3541 has no bounding boxes. Skipping...
Warning: Image at index 6522 has no bounding boxes. Skipping...
Warning: Image at index 1828 has no bounding boxes. Skipping...
Warning: Image at index 2156 has no bounding boxes. Skipping...Warning: Image at index 5423 has no bounding boxes. Skipping...Warning: Image at index 5058 has no bounding boxes. Skipping...
Warning: Image at index 5075 has no bounding boxes. Skipping...Warning: Image at index 6116 has no bounding boxes. Skipping...
Warning: Image at index 8144 has no bounding boxes. Skipping...
Warning: Image at index 1610 has no bounding boxes. Skipping...
Warning: Image at index 6101 has no bounding boxes. Skipping...
Warning: Image at index 1722 has no bounding boxes. Skipping...
Warning: Image at index 7302 has no bounding boxes. Skipping...
Warning: Image at index 2521 has no bounding boxes. Skipping...
Warning: Image at index 6139 has no bounding boxes. Skipping...
Warning: Image at index 5108 has no bounding boxes. Skipping...
Warning: Image at index 7792 has no bounding boxes. Skipping...
Warning: Image at index 472 has no bounding boxes. Skipping...Warning: Image at index 1201 has no bounding boxes. Skipping...
Warning: Image at index 6635 has no bounding boxes. Skipping...
Warning: Image at index 2621 has no bounding boxes. Skipping...
Warning: Image at index 4904 has no bounding boxes. Skipping...Warning: Image at index 715 has no bounding boxes. Skipping...
Warning: Image at index 2155 has no bounding boxes. Skipping...Warning: Image at index 3959 has no bounding boxes. Skipping...
Warning: Image at index 2997 has no bounding boxes. Skipping...Warning: Image at index 4202 has no bounding boxes. Skipping...
Warning: Image at index 375 has no bounding boxes. Skipping...Warning: Image at index 894 has no bounding boxes. Skipping...
Warning: Image at index 123 has no bounding boxes. Skipping...Warning: Image at index 3630 has no bounding boxes. Skipping...
Warning: Image at index 3573 has no bounding boxes. Skipping...
Warning: Image at index 1627 has no bounding boxes. Skipping...
Warning: Image at index 4325 has no bounding boxes. Skipping...Warning: Image at index 6722 has no bounding boxes. Skipping...
Warning: Image at index 7778 has no bounding boxes. Skipping...
Warning: Image at index 8076 has no bounding boxes. Skipping...
Warning: Image at index 3362 has no bounding boxes. Skipping...
Warning: Image at index 5395 has no bounding boxes. Skipping...
Warning: Image at index 3926 has no bounding boxes. Skipping...Warning: Image at index 615 has no bounding boxes. Skipping...
Warning: Image at index 2542 has no bounding boxes. Skipping...Warning: Image at index 8192 has no bounding boxes. Skipping...
Warning: Image at index 7615 has no bounding boxes. Skipping...
Warning: Image at index 607 has no bounding boxes. Skipping...Warning: Image at index 8042 has no bounding boxes. Skipping...
Warning: Image at index 885 has no bounding boxes. Skipping...
Warning: Image at index 1463 has no bounding boxes. Skipping...
Warning: Image at index 373 has no bounding boxes. Skipping...Warning: Image at index 5552 has no bounding boxes. Skipping...
Warning: Image at index 5551 has no bounding boxes. Skipping...Warning: Image at index 3443 has no bounding boxes. Skipping...
Warning: Image at index 900 has no bounding boxes. Skipping...
Warning: Image at index 5543 has no bounding boxes. Skipping...
Warning: Image at index 5287 has no bounding boxes. Skipping...
Warning: Image at index 1370 has no bounding boxes. Skipping...Warning: Image at index 7433 has no bounding boxes. Skipping...
Warning: Image at index 1403 has no bounding boxes. Skipping...Warning: Image at index 7901 has no bounding boxes. Skipping...Warning: Image at index 1725 has no bounding boxes. Skipping...
Warning: Image at index 3753 has no bounding boxes. Skipping...
Warning: Image at index 2891 has no bounding boxes. Skipping...Warning: Image at index 3873 has no bounding boxes. Skipping...
Warning: Image at index 5319 has no bounding boxes. Skipping...
Warning: Image at index 3152 has no bounding boxes. Skipping...
Warning: Image at index 6670 has no bounding boxes. Skipping...
Warning: Image at index 3909 has no bounding boxes. Skipping...
Warning: Image at index 493 has no bounding boxes. Skipping...Warning: Image at index 4821 has no bounding boxes. Skipping...Warning: Image at index 3976 has no bounding boxes. Skipping...
Warning: Image at index 7671 has no bounding boxes. Skipping...Warning: Image at index 3411 has no bounding boxes. Skipping...Warning: Image at index 1301 has no bounding boxes. Skipping...
Warning: Image at index 4704 has no bounding boxes. Skipping...Warning: Image at index 1233 has no bounding boxes. Skipping...
Warning: Image at index 5997 has no bounding boxes. Skipping...Warning: Image at index 5410 has no bounding boxes. Skipping...
Warning: Image at index 610 has no bounding boxes. Skipping...Warning: Image at index 6601 has no bounding boxes. Skipping...
Warning: Image at index 4481 has no bounding boxes. Skipping...
Warning: Image at index 3319 has no bounding boxes. Skipping...
Warning: Image at index 6358 has no bounding boxes. Skipping...Warning: Image at index 1175 has no bounding boxes. Skipping...
Warning: Image at index 5412 has no bounding boxes. Skipping...
Warning: Image at index 5611 has no bounding boxes. Skipping...Warning: Image at index 6572 has no bounding boxes. Skipping...
Warning: Image at index 3288 has no bounding boxes. Skipping...Warning: Image at index 2770 has no bounding boxes. Skipping...Warning: Image at index 1130 has no bounding boxes. Skipping...Warning: Image at index 250 has no bounding boxes. Skipping...
Warning: Image at index 545 has no bounding boxes. Skipping...
Warning: Image at index 828 has no bounding boxes. Skipping...
Warning: Image at index 1164 has no bounding boxes. Skipping...
Warning: Image at index 5476 has no bounding boxes. Skipping...
Warning: Image at index 7947 has no bounding boxes. Skipping...
Warning: Image at index 443 has no bounding boxes. Skipping...
Warning: Image at index 7723 has no bounding boxes. Skipping...Warning: Image at index 3600 has no bounding boxes. Skipping...
Warning: Image at index 7639 has no bounding boxes. Skipping...
Warning: Image at index 4271 has no bounding boxes. Skipping...Warning: Image at index 3173 has no bounding boxes. Skipping...
Warning: Image at index 1315 has no bounding boxes. Skipping...
Warning: Image at index 4932 has no bounding boxes. Skipping...Warning: Image at index 1291 has no bounding boxes. Skipping...
Warning: Image at index 1777 has no bounding boxes. Skipping...
Warning: Image at index 2022 has no bounding boxes. Skipping...
Warning: Image at index 1350 has no bounding boxes. Skipping...Warning: Image at index 1314 has no bounding boxes. Skipping...
Warning: Image at index 721 has no bounding boxes. Skipping...Warning: Image at index 5978 has no bounding boxes. Skipping...
Warning: Image at index 722 has no bounding boxes. Skipping...
Warning: Image at index 5581 has no bounding boxes. Skipping...
Warning: Image at index 6359 has no bounding boxes. Skipping...Warning: Image at index 742 has no bounding boxes. Skipping...
Warning: Image at index 7949 has no bounding boxes. Skipping...Warning: Image at index 3721 has no bounding boxes. Skipping...Warning: Image at index 564 has no bounding boxes. Skipping...
Warning: Image at index 477 has no bounding boxes. Skipping...
Warning: Image at index 27 has no bounding boxes. Skipping...
Warning: Image at index 1168 has no bounding boxes. Skipping...Warning: Image at index 6365 has no bounding boxes. Skipping...Warning: Image at index 992 has no bounding boxes. Skipping...
Warning: Image at index 5961 has no bounding boxes. Skipping...
Warning: Image at index 5930 has no bounding boxes. Skipping...
Warning: Image at index 3855 has no bounding boxes. Skipping...
Warning: Image at index 4836 has no bounding boxes. Skipping...
Warning: Image at index 410 has no bounding boxes. Skipping...Warning: Image at index 1677 has no bounding boxes. Skipping...
Warning: Image at index 5926 has no bounding boxes. Skipping...
Warning: Image at index 2962 has no bounding boxes. Skipping...
Warning: Image at index 1148 has no bounding boxes. Skipping...Warning: Image at index 4238 has no bounding boxes. Skipping...
Warning: Image at index 4391 has no bounding boxes. Skipping...Warning: Image at index 6862 has no bounding boxes. Skipping...
Warning: Image at index 3958 has no bounding boxes. Skipping...Warning: Image at index 3355 has no bounding boxes. Skipping...
Warning: Image at index 4762 has no bounding boxes. Skipping...
Warning: Image at index 5707 has no bounding boxes. Skipping...Warning: Image at index 5763 has no bounding boxes. Skipping...
Warning: Image at index 7493 has no bounding boxes. Skipping...
Warning: Image at index 1622 has no bounding boxes. Skipping...Warning: Image at index 6283 has no bounding boxes. Skipping...
Warning: Image at index 2169 has no bounding boxes. Skipping...
Warning: Image at index 7186 has no bounding boxes. Skipping...Warning: Image at index 3581 has no bounding boxes. Skipping...Warning: Image at index 3875 has no bounding boxes. Skipping...
Warning: Image at index 2317 has no bounding boxes. Skipping...Warning: Image at index 5776 has no bounding boxes. Skipping...
Warning: Image at index 7676 has no bounding boxes. Skipping...Warning: Image at index 5522 has no bounding boxes. Skipping...
Warning: Image at index 7550 has no bounding boxes. Skipping...Warning: Image at index 4913 has no bounding boxes. Skipping...
Warning: Image at index 5339 has no bounding boxes. Skipping...
Warning: Image at index 5694 has no bounding boxes. Skipping...
Warning: Image at index 5136 has no bounding boxes. Skipping...
Warning: Image at index 7308 has no bounding boxes. Skipping...Warning: Image at index 6679 has no bounding boxes. Skipping...
Warning: Image at index 7760 has no bounding boxes. Skipping...
Warning: Image at index 7473 has no bounding boxes. Skipping...Warning: Image at index 3297 has no bounding boxes. Skipping...
Warning: Image at index 2942 has no bounding boxes. Skipping...
Warning: Image at index 6332 has no bounding boxes. Skipping...
Warning: Image at index 1727 has no bounding boxes. Skipping...
Warning: Image at index 7018 has no bounding boxes. Skipping...
Warning: Image at index 8127 has no bounding boxes. Skipping...
Warning: Image at index 6154 has no bounding boxes. Skipping...Warning: Image at index 4261 has no bounding boxes. Skipping...
Warning: Image at index 978 has no bounding boxes. Skipping...Warning: Image at index 1739 has no bounding boxes. Skipping...
Warning: Image at index 4776 has no bounding boxes. Skipping...
Warning: Image at index 8207 has no bounding boxes. Skipping...
Warning: Image at index 3535 has no bounding boxes. Skipping...
Warning: Image at index 8248 has no bounding boxes. Skipping...Warning: Image at index 2887 has no bounding boxes. Skipping...
Warning: Image at index 6012 has no bounding boxes. Skipping...
Warning: Image at index 4065 has no bounding boxes. Skipping...Warning: Image at index 7887 has no bounding boxes. Skipping...
Warning: Image at index 3763 has no bounding boxes. Skipping...Warning: Image at index 2830 has no bounding boxes. Skipping...
Warning: Image at index 8165 has no bounding boxes. Skipping...
Warning: Image at index 6225 has no bounding boxes. Skipping...
Warning: Image at index 3788 has no bounding boxes. Skipping...Warning: Image at index 5011 has no bounding boxes. Skipping...
Warning: Image at index 3579 has no bounding boxes. Skipping...
Warning: Image at index 74 has no bounding boxes. Skipping...Warning: Image at index 1668 has no bounding boxes. Skipping...Warning: Image at index 4502 has no bounding boxes. Skipping...Warning: Image at index 8031 has no bounding boxes. Skipping...
Warning: Image at index 5393 has no bounding boxes. Skipping...Warning: Image at index 2319 has no bounding boxes. Skipping...
Warning: Image at index 3688 has no bounding boxes. Skipping...
Warning: Image at index 7728 has no bounding boxes. Skipping...Warning: Image at index 8038 has no bounding boxes. Skipping...
Warning: Image at index 2181 has no bounding boxes. Skipping...
Warning: Image at index 3961 has no bounding boxes. Skipping...
Warning: Image at index 3545 has no bounding boxes. Skipping...
Warning: Image at index 2326 has no bounding boxes. Skipping...
Warning: Image at index 417 has no bounding boxes. Skipping...Warning: Image at index 4109 has no bounding boxes. Skipping...
Warning: Image at index 7366 has no bounding boxes. Skipping...
Warning: Image at index 6441 has no bounding boxes. Skipping...Warning: Image at index 7455 has no bounding boxes. Skipping...Warning: Image at index 4651 has no bounding boxes. Skipping...
Warning: Image at index 7552 has no bounding boxes. Skipping...
Warning: Image at index 7826 has no bounding boxes. Skipping...
Warning: Image at index 1510 has no bounding boxes. Skipping...
Warning: Image at index 4344 has no bounding boxes. Skipping...
Warning: Image at index 2265 has no bounding boxes. Skipping...
Warning: Image at index 2843 has no bounding boxes. Skipping...
Warning: Image at index 4496 has no bounding boxes. Skipping...
Warning: Image at index 5843 has no bounding boxes. Skipping...Warning: Image at index 7008 has no bounding boxes. Skipping...
Warning: Image at index 1085 has no bounding boxes. Skipping...
Warning: Image at index 1495 has no bounding boxes. Skipping...
Warning: Image at index 1585 has no bounding boxes. Skipping...
Warning: Image at index 2083 has no bounding boxes. Skipping...
Warning: Image at index 1976 has no bounding boxes. Skipping...
Warning: Image at index 3869 has no bounding boxes. Skipping...Warning: Image at index 4970 has no bounding boxes. Skipping...
Warning: Image at index 2758 has no bounding boxes. Skipping...
Warning: Image at index 6498 has no bounding boxes. Skipping...
Warning: Image at index 6080 has no bounding boxes. Skipping...Warning: Image at index 6388 has no bounding boxes. Skipping...Warning: Image at index 4005 has no bounding boxes. Skipping...
Warning: Image at index 4996 has no bounding boxes. Skipping...Warning: Image at index 8268 has no bounding boxes. Skipping...Warning: Image at index 4446 has no bounding boxes. Skipping...
Warning: Image at index 3834 has no bounding boxes. Skipping...Warning: Image at index 4055 has no bounding boxes. Skipping...
Warning: Image at index 7948 has no bounding boxes. Skipping...Warning: Image at index 4672 has no bounding boxes. Skipping...Warning: Image at index 5918 has no bounding boxes. Skipping...Warning: Image at index 2472 has no bounding boxes. Skipping...
Warning: Image at index 2950 has no bounding boxes. Skipping...Warning: Image at index 6494 has no bounding boxes. Skipping...Warning: Image at index 967 has no bounding boxes. Skipping...
Warning: Image at index 2716 has no bounding boxes. Skipping...Warning: Image at index 3429 has no bounding boxes. Skipping...
Warning: Image at index 5170 has no bounding boxes. Skipping...Warning: Image at index 4570 has no bounding boxes. Skipping...
Warning: Image at index 4274 has no bounding boxes. Skipping...Warning: Image at index 6617 has no bounding boxes. Skipping...
Warning: Image at index 3212 has no bounding boxes. Skipping...
Warning: Image at index 6552 has no bounding boxes. Skipping...Warning: Image at index 3616 has no bounding boxes. Skipping...
Warning: Image at index 4768 has no bounding boxes. Skipping...Warning: Image at index 3201 has no bounding boxes. Skipping...
Warning: Image at index 5222 has no bounding boxes. Skipping...Warning: Image at index 3004 has no bounding boxes. Skipping...
Warning: Image at index 2714 has no bounding boxes. Skipping...
Warning: Image at index 3229 has no bounding boxes. Skipping...
Warning: Image at index 1770 has no bounding boxes. Skipping...
Warning: Image at index 922 has no bounding boxes. Skipping...
Warning: Image at index 3501 has no bounding boxes. Skipping...Warning: Image at index 825 has no bounding boxes. Skipping...Warning: Image at index 7796 has no bounding boxes. Skipping...
Warning: Image at index 1102 has no bounding boxes. Skipping...Warning: Image at index 6398 has no bounding boxes. Skipping...
Warning: Image at index 3334 has no bounding boxes. Skipping...Warning: Image at index 5478 has no bounding boxes. Skipping...
Warning: Image at index 7061 has no bounding boxes. Skipping...Warning: Image at index 2353 has no bounding boxes. Skipping...
Warning: Image at index 1638 has no bounding boxes. Skipping...
Warning: Image at index 5937 has no bounding boxes. Skipping...Warning: Image at index 1499 has no bounding boxes. Skipping...
Warning: Image at index 4385 has no bounding boxes. Skipping...
Warning: Image at index 4687 has no bounding boxes. Skipping...
Warning: Image at index 3524 has no bounding boxes. Skipping...Warning: Image at index 4980 has no bounding boxes. Skipping...
Warning: Image at index 5169 has no bounding boxes. Skipping...Warning: Image at index 348 has no bounding boxes. Skipping...Warning: Image at index 7873 has no bounding boxes. Skipping...
Warning: Image at index 531 has no bounding boxes. Skipping...
Warning: Image at index 4230 has no bounding boxes. Skipping...
Warning: Image at index 5702 has no bounding boxes. Skipping...
Warning: Image at index 5139 has no bounding boxes. Skipping...Warning: Image at index 5291 has no bounding boxes. Skipping...
Warning: Image at index 7295 has no bounding boxes. Skipping...Warning: Image at index 569 has no bounding boxes. Skipping...
Warning: Image at index 1573 has no bounding boxes. Skipping...
Warning: Image at index 5079 has no bounding boxes. Skipping...
Warning: Image at index 3112 has no bounding boxes. Skipping...Warning: Image at index 1194 has no bounding boxes. Skipping...
Warning: Image at index 616 has no bounding boxes. Skipping...
Warning: Image at index 5442 has no bounding boxes. Skipping...
Warning: Image at index 463 has no bounding boxes. Skipping...
Warning: Image at index 2063 has no bounding boxes. Skipping...
Warning: Image at index 1736 has no bounding boxes. Skipping...Warning: Image at index 6872 has no bounding boxes. Skipping...
Warning: Image at index 5388 has no bounding boxes. Skipping...
Warning: Image at index 3796 has no bounding boxes. Skipping...Warning: Image at index 1966 has no bounding boxes. Skipping...
Warning: Image at index 644 has no bounding boxes. Skipping...Warning: Image at index 4639 has no bounding boxes. Skipping...Warning: Image at index 3554 has no bounding boxes. Skipping...
Warning: Image at index 1154 has no bounding boxes. Skipping...
Warning: Image at index 6076 has no bounding boxes. Skipping...
Warning: Image at index 6727 has no bounding boxes. Skipping...
Warning: Image at index 5681 has no bounding boxes. Skipping...Warning: Image at index 3105 has no bounding boxes. Skipping...Warning: Image at index 3018 has no bounding boxes. Skipping...Warning: Image at index 1982 has no bounding boxes. Skipping...
Warning: Image at index 125 has no bounding boxes. Skipping...
Warning: Image at index 5853 has no bounding boxes. Skipping...
Warning: Image at index 5112 has no bounding boxes. Skipping...Warning: Image at index 2781 has no bounding boxes. Skipping...Warning: Image at index 7005 has no bounding boxes. Skipping...
Warning: Image at index 5752 has no bounding boxes. Skipping...
Warning: Image at index 2806 has no bounding boxes. Skipping...
Warning: Image at index 1778 has no bounding boxes. Skipping...Warning: Image at index 5184 has no bounding boxes. Skipping...
Warning: Image at index 5599 has no bounding boxes. Skipping...
Warning: Image at index 770 has no bounding boxes. Skipping...Warning: Image at index 3372 has no bounding boxes. Skipping...Warning: Image at index 3863 has no bounding boxes. Skipping...
Warning: Image at index 5001 has no bounding boxes. Skipping...
Warning: Image at index 2596 has no bounding boxes. Skipping...Warning: Image at index 4851 has no bounding boxes. Skipping...
Warning: Image at index 6311 has no bounding boxes. Skipping...
Warning: Image at index 4073 has no bounding boxes. Skipping...Warning: Image at index 4455 has no bounding boxes. Skipping...
Warning: Image at index 7163 has no bounding boxes. Skipping...
Warning: Image at index 7137 has no bounding boxes. Skipping...Warning: Image at index 3588 has no bounding boxes. Skipping...
Warning: Image at index 7987 has no bounding boxes. Skipping...
Warning: Image at index 4443 has no bounding boxes. Skipping...
Warning: Image at index 1931 has no bounding boxes. Skipping...
Warning: Image at index 6681 has no bounding boxes. Skipping...
Warning: Image at index 7659 has no bounding boxes. Skipping...Warning: Image at index 2715 has no bounding boxes. Skipping...
Warning: Image at index 1334 has no bounding boxes. Skipping...
Warning: Image at index 683 has no bounding boxes. Skipping...
Warning: Image at index 2306 has no bounding boxes. Skipping...Warning: Image at index 8007 has no bounding boxes. Skipping...
Warning: Image at index 4151 has no bounding boxes. Skipping...Warning: Image at index 1865 has no bounding boxes. Skipping...
Warning: Image at index 3878 has no bounding boxes. Skipping...
Warning: Image at index 734 has no bounding boxes. Skipping...Warning: Image at index 2014 has no bounding boxes. Skipping...
Warning: Image at index 5321 has no bounding boxes. Skipping...
Warning: Image at index 6501 has no bounding boxes. Skipping...Warning: Image at index 193 has no bounding boxes. Skipping...
Warning: Image at index 1689 has no bounding boxes. Skipping...
Warning: Image at index 7121 has no bounding boxes. Skipping...Warning: Image at index 353 has no bounding boxes. Skipping...Warning: Image at index 4198 has no bounding boxes. Skipping...
Warning: Image at index 1870 has no bounding boxes. Skipping...
Warning: Image at index 1140 has no bounding boxes. Skipping...
Warning: Image at index 5238 has no bounding boxes. Skipping...Warning: Image at index 7918 has no bounding boxes. Skipping...Warning: Image at index 6869 has no bounding boxes. Skipping...
Warning: Image at index 4886 has no bounding boxes. Skipping...
Warning: Image at index 1082 has no bounding boxes. Skipping...Warning: Image at index 1670 has no bounding boxes. Skipping...
Warning: Image at index 3818 has no bounding boxes. Skipping...
Warning: Image at index 6356 has no bounding boxes. Skipping...Warning: Image at index 2893 has no bounding boxes. Skipping...
Warning: Image at index 2484 has no bounding boxes. Skipping...Warning: Image at index 5315 has no bounding boxes. Skipping...
Warning: Image at index 5491 has no bounding boxes. Skipping...
Warning: Image at index 6141 has no bounding boxes. Skipping...
Warning: Image at index 3546 has no bounding boxes. Skipping...Warning: Image at index 6756 has no bounding boxes. Skipping...
Warning: Image at index 3017 has no bounding boxes. Skipping...
Warning: Image at index 3830 has no bounding boxes. Skipping...Warning: Image at index 796 has no bounding boxes. Skipping...Warning: Image at index 5712 has no bounding boxes. Skipping...
Warning: Image at index 1029 has no bounding boxes. Skipping...Warning: Image at index 28 has no bounding boxes. Skipping...
Warning: Image at index 2993 has no bounding boxes. Skipping...Warning: Image at index 7351 has no bounding boxes. Skipping...
Warning: Image at index 6764 has no bounding boxes. Skipping...
Warning: Image at index 2585 has no bounding boxes. Skipping...Warning: Image at index 3206 has no bounding boxes. Skipping...Warning: Image at index 648 has no bounding boxes. Skipping...
Warning: Image at index 6838 has no bounding boxes. Skipping...
Warning: Image at index 6252 has no bounding boxes. Skipping...Warning: Image at index 7619 has no bounding boxes. Skipping...Warning: Image at index 8247 has no bounding boxes. Skipping...
Warning: Image at index 8040 has no bounding boxes. Skipping...
Warning: Image at index 6614 has no bounding boxes. Skipping...Warning: Image at index 3705 has no bounding boxes. Skipping...
Warning: Image at index 6881 has no bounding boxes. Skipping...Warning: Image at index 2104 has no bounding boxes. Skipping...
Warning: Image at index 6492 has no bounding boxes. Skipping...Warning: Image at index 1398 has no bounding boxes. Skipping...
Warning: Image at index 6864 has no bounding boxes. Skipping...
Warning: Image at index 2426 has no bounding boxes. Skipping...Warning: Image at index 228 has no bounding boxes. Skipping...
Warning: Image at index 4519 has no bounding boxes. Skipping...
Warning: Image at index 6780 has no bounding boxes. Skipping...Warning: Image at index 3966 has no bounding boxes. Skipping...
#Refined architecture of Resnet - giving better accuracies
import torchvision.models as models
import torch.optim as optim
import torchvision.transforms as transforms
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device)
cpu
# to transform input data
data_transforms = {
'/Car Images/Train Images': transforms.Compose([
transforms.Resize((256, 256)), #This transformation resizes the input images to have a height and width of 256 pixels.
transforms.RandomHorizontalFlip(), #This transformation randomly flips the images horizontally with a 50% probability. Horizontal flipping is a common data augmentation technique that helps increase the diversity of the training data.
transforms.RandomRotation(15), #This transformation randomly rotates the images by a maximum of 15 degrees.
transforms.ToTensor(), #This transformation converts the images into PyTorch tensors.
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])
]),
'/Car Images/Test Images': transforms.Compose([
transforms.Resize((256, 256)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])
]),
}
''' In this page (https://pytorch.org/vision/stable/models.html), it says that "All pre-trained models expect input images normalized in the same way,
i.e. mini-batches of 3-channel RGB images of shape (3 x H x W), where H and W are expected to be at least 224. The images have to be loaded in to a range of [0, 1]
and then normalized using mean = [0.485, 0.456, 0.406] and std = [0.229, 0.224, 0.225]"'''
# These values are derived form Imagenet based on mean and standard deviation of millions of images
# These values are commonly used for normalization when working with image data in deep learning, and they come from a widely used dataset called ImageNet
batch_size = 32
image_datasets = {x: torchvision.datasets.ImageFolder(root=data_dir +x, transform=data_transforms[x])
for x in ['/Car Images/Train Images', '/Car Images/Test Images']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=batch_size, shuffle=True)
for x in ['/Car Images/Train Images', '/Car Images/Test Images']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['/Car Images/Train Images', '/Car Images/Test Images']}
class_names = image_datasets['/Car Images/Train Images'].classes
dataset_sizes
{'/Car Images/Train Images': 8279, '/Car Images/Test Images': 8084}
model_c3 = models.resnet34(pretrained=True)
num_ftrs = model_c3.fc.in_features
model_c3.fc = nn.Linear(num_ftrs, 196)
model_c3 = model_c3.to(device)
model_c3.summary()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model_c3.parameters(), lr=0.01, momentum=0.9)
#This is an optional learning rate scheduler that adjusts the learning rate during training (e.g., learning rate decay).
lrscheduler = optim.lr_scheduler.StepLR(optimizer, step_size=3, gamma=0.1)
Downloading: "https://download.pytorch.org/models/resnet34-b627a593.pth" to /root/.cache/torch/hub/checkpoints/resnet34-b627a593.pth 100%|██████████| 83.3M/83.3M [00:01<00:00, 67.4MB/s]
data_dir + '/Car Images/Train Images'
'/content/drive/MyDrive/MachineLearning/CapstoneProject/Dataset/Car Images/Train Images'
def train_model(model, criterion, optimizer, scheduler, n_epochs = 5):
#Four lists (losses, accuracies, test_accuracies, and test_losses) are initialized to store training and testing metrics over epochs.
losses = []
accuracies = []
test_accuracies = []
test_losses = []
#The model is moved to the specified device, which is presumably either a CPU or GPU.
model.to(device)
model.train()
for epoch in range(n_epochs):
print(f'Epoch {epoch}/{n_epochs-1}')
print('-' * 10)
running_loss = 0.0
running_correct = 0.0
total = 0.0
#For each epoch, it prints the epoch number and enters a loop that iterates over two phases: "train" and "test".
for phase in ['/Car Images/Train Images', '/Car Images/Test Images']:
if phase == '/Car Images/Train Images':
model.train() #In the "train" phase, the model is set to training mode (model.train()), and the training data is used to update the model's parameters.
else:
model.eval() #In the "test" phase, the model is set to evaluation mode (model.eval()), and the testing data is used to evaluate the model's performance without updating its parameters.
running_loss = 0.0
running_corrects = 0
#For each phase (either "train" or "test"), the code loops over the data in batches using the dataloaders dictionary.
for inputs, labels in dataloaders[phase]:
inputs = inputs.to(device)
labels = labels.to(device)
optimizer.zero_grad()
# we perform forward pass, calculate the loss, and compute predictions.
with torch.set_grad_enabled(phase == '/Car Images/Train Images'):
outputs = model(inputs)
_, preds = torch.max(outputs, 1)
loss = criterion(outputs, labels)
#For train phase,we also perform backpropagation and updates the model's parameters using the optimizer.
if phase == '/Car Images/Train Images':
loss.backward()
optimizer.step()
#Running loss and accuracy metrics are computed for each phase.
running_loss += loss.item() * inputs.size(0)
running_corrects += torch.sum(preds == labels.data)
#If the phase is "train," the learning rate scheduler (scheduler) is optionally stepped to adjust the learning rate.
if phase == '/Car Images/Train Images':
scheduler.step()
#At the end of each epoch, the average loss and accuracy for both the "train" and "test" phases are calculated.
epoch_loss = running_loss / dataset_sizes[phase]
epoch_acc = running_corrects.double() / dataset_sizes[phase]
#These metrics are appended to the respective lists (losses, accuracies, test_losses, test_accuracies).
if phase == '/Car Images/Train Images':
losses.append(epoch_loss)
accuracies.append(epoch_acc)
else:
test_losses.append(epoch_loss)
test_accuracies.append(epoch_acc)
#The metrics for both phases are printed.
print(f'{phase} Loss: {epoch_loss} Acc: {epoch_acc}')
print()
return model, losses, accuracies, test_losses, test_accuracies
def visual(training_losses, training_accs, test_losses, test_accs, name):
f, ax = plt.subplots(2,2, figsize = (12, 8))
ax[0, 0].plot(training_losses)
ax[0, 0].set_title("Training loss")
ax[0, 1].plot(training_accs)
ax[0, 1].set_title("Training acc")
ax[1, 0].plot(test_losses)
ax[1, 0].set_title("Test loss")
ax[1, 1].plot(test_accs)
ax[1, 1].set_title("Test acc")
f.suptitle(f'Train visualise {name} 100\'s of batches')
plt.show()
print(f'#### Fine-Tuning Model ####')
model_c3, training_losses, training_accs, test_losses, test_accs = train_model(model_c3, criterion, optimizer, lrscheduler, n_epochs=5)
visual(training_losses, training_accs, test_losses, test_accs, 'NN Fine-Tuning Model')
#### Fine-Tuning Model #### Epoch 0/4 ---------- /Car Images/Train Images Loss: 3.823921334111384 Acc: 0.17441720014494505
--------------------------------------------------------------------------- KeyboardInterrupt Traceback (most recent call last) <ipython-input-75-1c6789005c00> in <cell line: 2>() 1 print(f'#### Fine-Tuning Model ####') ----> 2 model_c3, training_losses, training_accs, test_losses, test_accs = train_model(model_c3, criterion, optimizer, lrscheduler, n_epochs=5) 3 visual(training_losses, training_accs, test_losses, test_accs, 'NN Fine-Tuning Model') <ipython-input-73-ff03c892c1a5> in train_model(model, criterion, optimizer, scheduler, n_epochs) 24 running_corrects = 0 25 #For each phase (either "train" or "test"), the code loops over the data in batches using the dataloaders dictionary. ---> 26 for inputs, labels in dataloaders[phase]: 27 inputs = inputs.to(device) 28 labels = labels.to(device) /usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py in __next__(self) 629 # TODO(https://github.com/pytorch/pytorch/issues/76750) 630 self._reset() # type: ignore[call-arg] --> 631 data = self._next_data() 632 self._num_yielded += 1 633 if self._dataset_kind == _DatasetKind.Iterable and \ /usr/local/lib/python3.10/dist-packages/torch/utils/data/dataloader.py in _next_data(self) 673 def _next_data(self): 674 index = self._next_index() # may raise StopIteration --> 675 data = self._dataset_fetcher.fetch(index) # may raise StopIteration 676 if self._pin_memory: 677 data = _utils.pin_memory.pin_memory(data, self._pin_memory_device) /usr/local/lib/python3.10/dist-packages/torch/utils/data/_utils/fetch.py in fetch(self, possibly_batched_index) 49 data = self.dataset.__getitems__(possibly_batched_index) 50 else: ---> 51 data = [self.dataset[idx] for idx in possibly_batched_index] 52 else: 53 data = self.dataset[possibly_batched_index] /usr/local/lib/python3.10/dist-packages/torch/utils/data/_utils/fetch.py in <listcomp>(.0) 49 data = self.dataset.__getitems__(possibly_batched_index) 50 else: ---> 51 data = [self.dataset[idx] for idx in possibly_batched_index] 52 else: 53 data = self.dataset[possibly_batched_index] /usr/local/lib/python3.10/dist-packages/torchvision/datasets/folder.py in __getitem__(self, index) 243 """ 244 path, target = self.samples[index] --> 245 sample = self.loader(path) 246 if self.transform is not None: 247 sample = self.transform(sample) /usr/local/lib/python3.10/dist-packages/torchvision/datasets/folder.py in default_loader(path) 282 return accimage_loader(path) 283 else: --> 284 return pil_loader(path) 285 286 /usr/local/lib/python3.10/dist-packages/torchvision/datasets/folder.py in pil_loader(path) 261 # open path as file to avoid ResourceWarning (https://github.com/python-pillow/Pillow/issues/835) 262 with open(path, "rb") as f: --> 263 img = Image.open(f) 264 return img.convert("RGB") 265 /usr/local/lib/python3.10/dist-packages/PIL/Image.py in open(fp, mode, formats) 3440 exclusive_fp = True 3441 -> 3442 prefix = fp.read(16) 3443 3444 preinit() KeyboardInterrupt:
# Run 3 - trying with YOLO
!pip install ultralytics
Requirement already satisfied: ultralytics in /usr/local/lib/python3.10/dist-packages (8.2.50) Requirement already satisfied: numpy<2.0.0,>=1.23.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (1.25.2) Requirement already satisfied: matplotlib>=3.3.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (3.7.1) Requirement already satisfied: opencv-python>=4.6.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (4.8.0.76) Requirement already satisfied: pillow>=7.1.2 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (10.4.0) Requirement already satisfied: pyyaml>=5.3.1 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (6.0.1) Requirement already satisfied: requests>=2.23.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (2.31.0) Requirement already satisfied: scipy>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (1.11.4) Requirement already satisfied: torch>=1.8.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (2.3.0+cu121) Requirement already satisfied: torchvision>=0.9.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (0.18.0+cu121) Requirement already satisfied: tqdm>=4.64.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (4.66.4) Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from ultralytics) (5.9.5) Requirement already satisfied: py-cpuinfo in /usr/local/lib/python3.10/dist-packages (from ultralytics) (9.0.0) Requirement already satisfied: pandas>=1.1.4 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (2.0.3) Requirement already satisfied: seaborn>=0.11.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (0.13.1) Requirement already satisfied: ultralytics-thop>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ultralytics) (2.0.0) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (1.2.1) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (4.53.0) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (1.4.5) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (24.1) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (3.1.2) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.3.0->ultralytics) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.1.4->ultralytics) (2023.4) Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.1.4->ultralytics) (2024.1) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->ultralytics) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->ultralytics) (3.7) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->ultralytics) (2.0.7) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests>=2.23.0->ultralytics) (2024.6.2) Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (3.15.4) Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (4.12.2) Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (1.12.1) Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (3.3) Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (3.1.4) Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (2023.6.0) Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.105) Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.105) Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.105) Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (8.9.2.26) Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.3.1) Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (11.0.2.54) Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (10.3.2.106) Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (11.4.5.107) Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.0.106) Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (2.20.5) Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (12.1.105) Requirement already satisfied: triton==2.3.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.8.0->ultralytics) (2.3.0) Requirement already satisfied: nvidia-nvjitlink-cu12 in /usr/local/lib/python3.10/dist-packages (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.8.0->ultralytics) (12.5.82) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.3.0->ultralytics) (1.16.0) Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.8.0->ultralytics) (2.1.5) Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.8.0->ultralytics) (1.3.0)
from ultralytics import YOLO
model = YOLO('yolov8n.pt')
#model.summary()
#import a random image
imgs, labels = next(train_images)
plt.imshow(imgs[1])
<matplotlib.image.AxesImage at 0x7e7e9a0168f0>
img = imgs[1]
#img = cv2.resize(img, None, fx=0.4, fy=0.4)
height, width, channels = img.shape
print(height, width, channels)
224 224 3
#do not understand why nothing is detected with YoLO!
results = model.predict(img)
0: 640x640 (no detections), 390.5ms Speed: 113.6ms preprocess, 390.5ms inference, 8.4ms postprocess per image at shape (1, 3, 640, 640)
# Access the first element of the results list, assuming it contains the result object
result = results[0]
# Now you can access the names attribute
print(result.names)
{0: 'person', 1: 'bicycle', 2: 'car', 3: 'motorcycle', 4: 'airplane', 5: 'bus', 6: 'train', 7: 'truck', 8: 'boat', 9: 'traffic light', 10: 'fire hydrant', 11: 'stop sign', 12: 'parking meter', 13: 'bench', 14: 'bird', 15: 'cat', 16: 'dog', 17: 'horse', 18: 'sheep', 19: 'cow', 20: 'elephant', 21: 'bear', 22: 'zebra', 23: 'giraffe', 24: 'backpack', 25: 'umbrella', 26: 'handbag', 27: 'tie', 28: 'suitcase', 29: 'frisbee', 30: 'skis', 31: 'snowboard', 32: 'sports ball', 33: 'kite', 34: 'baseball bat', 35: 'baseball glove', 36: 'skateboard', 37: 'surfboard', 38: 'tennis racket', 39: 'bottle', 40: 'wine glass', 41: 'cup', 42: 'fork', 43: 'knife', 44: 'spoon', 45: 'bowl', 46: 'banana', 47: 'apple', 48: 'sandwich', 49: 'orange', 50: 'broccoli', 51: 'carrot', 52: 'hot dog', 53: 'pizza', 54: 'donut', 55: 'cake', 56: 'chair', 57: 'couch', 58: 'potted plant', 59: 'bed', 60: 'dining table', 61: 'toilet', 62: 'tv', 63: 'laptop', 64: 'mouse', 65: 'remote', 66: 'keyboard', 67: 'cell phone', 68: 'microwave', 69: 'oven', 70: 'toaster', 71: 'sink', 72: 'refrigerator', 73: 'book', 74: 'clock', 75: 'vase', 76: 'scissors', 77: 'teddy bear', 78: 'hair drier', 79: 'toothbrush'}
#reference: https://www.freecodecamp.org/news/how-to-detect-objects-in-images-using-yolov8/
#reference: https://www.freecodecamp.org/news/how-to-detect-objects-in-images-using-yolov8/
result = results[0]
print("No. of objects detected", len(result.boxes))
# Check if any boxes were detected before iterating
if result.boxes:
for box in result.boxes:
class_id = result.names[box.cls[0].item()]
cords = box.xyxy[0].tolist()
cords = [round(x) for x in cords]
conf = round(box.conf[0].item(), 2)
print("Object type:", class_id)
print("Coordinates:", cords)
print("Probability:", conf)
print("---")
else:
print("No objects detected in the image.")
No. of objects detected 0 No objects detected in the image.
#Attempt 4 - trying mobilenet model
#reference: https://github.com/prakhargurawa/Vehicle-Detection-Classification-YOLO-MobileNet/blob/main/MobileNet_TransferLearning.py
from keras.applications import MobileNetV2
# Reference : https://analyticsindiamag.com/a-practical-guide-to-implement-transfer-learning-in-tensorflow/
base_model = MobileNetV2(weights='imagenet',include_top=False,input_shape=(192, 192, 3)) # imports the mobilenet model and discards the last 1000 neuron layer.
# Freeze the base model
base_model.trainable = False
Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v2/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_1.0_192_no_top.h5 9406464/9406464 [==============================] - 0s 0us/step
model = Sequential([
base_model,
#Dense(512, activation='relu',kernel_regularizer='l1'),
Dense(512, activation='relu'),
Dropout(0.2),
Dense(512, activation='relu'),
Dropout(0.2),
Dense(196, activation='softmax')
])
# Unfreeze the new layers
for layer in model.layers[0:]:
layer.trainable = True
print("************************ LAYERS ************************")
for layer in model.layers:
print(layer.name,layer.trainable)
print("********************************************************")
print(model.summary())
# Reference : https://www.pyimagesearch.com/2019/07/08/keras-imagedatagenerator-and-data-augmentation/
import keras
import numpy as np
from keras.applications import MobileNetV2
from keras.layers import Dense, Flatten,Dropout
from keras.models import Sequential
from keras.preprocessing import image
from keras.preprocessing.image import ImageDataGenerator
from keras import regularizers
train_datagen = ImageDataGenerator(preprocessing_function=keras.applications.mobilenet.preprocess_input,validation_split=0.2,
rescale=1./255,
shear_range=0.1,
zoom_range=0.1,
width_shift_range=0.1,
height_shift_range=0.1,
horizontal_flip=True,
vertical_flip=True)
train_generator = train_datagen.flow_from_directory(
data_dir + '/Car Images/Train Images',
target_size=(192,192),
batch_size=64,
class_mode='categorical',
subset='training',
shuffle=True)
validation_generator = train_datagen.flow_from_directory(
data_dir + '/Car Images/Test Images',
target_size=(192, 192),
batch_size=64,
class_mode='categorical',
subset='validation',
shuffle=True)
# Selection of optimizer : https://towardsdatascience.com/7-tips-to-choose-the-best-optimizer-47bb9c1219e
# Adam is the best among the adaptive optimizers in most of the cases.
# Adam optimizer,loss function will be binary cross entropy,evaluation metric will be accuracy
algo = "Adam"
model.compile(optimizer = keras.optimizers.Adam(lr=0.0001), loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
step_size_train=train_generator.n//train_generator.batch_size
step_size_val=validation_generator.n//validation_generator.batch_size
ep = 20
# Check the number of classes in your dataset
# Check the number of classes in your dataset
num_classes = train_generator.num_classes
# Modify the last layer of your model (assuming it's a Sequential model)
model.layers[-1].units = num_classes # Set the number of output units to match the number of classes
model.layers[-1].activation = tf.keras.activations.softmax # Use softmax for categorical classification
# Add a Flatten layer before the final Dense layer if there's an extra dimension
if len(model.layers[-1].input_shape) > 2: # Check if there's an extra dimension (e.g., from convolutional layers)
model.add(tf.keras.layers.Flatten()) # Flatten the output before the final Dense layer
# Recompile the model with the updated output layer
model.compile(optimizer=keras.optimizers.Adam(lr=0.0001),
loss=tf.keras.losses.CategoricalCrossentropy(), # Use CategoricalCrossentropy without from_logits=True for softmax output
metrics=['accuracy'])
# Now try fitting the model again
history = model.fit(x=train_generator,
steps_per_epoch=step_size_train,
validation_data=validation_generator,
validation_steps=step_size_val,
epochs=ep)
#Attempt 1 - too many paramenters 99 mn - takes long to run, hence aborted
# define model
model = Sequential()
model.add(Conv2D(224, (3, 3), padding='same',input_shape=(224,224,3),activation='relu'))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), padding='same',activation='relu'))
model.add(Conv2D(64, (3, 3), padding='same',activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(196, activation='softmax'))
model.compile(optimizers.Adam(learning_rate=0.0001),loss="categorical_crossentropy", metrics=["accuracy"])
STEP_SIZE_TRAIN=train_images.n//train_images.batch_size
STEP_SIZE_VALID=test_images.n//test_images.batch_size
model.summary()
# fit model - seems to run with Pillow update fix, but aborated as it was taking way too long
model.fit_generator(generator=train_images,
steps_per_epoch=STEP_SIZE_TRAIN,
validation_data=test_images,
validation_steps=STEP_SIZE_VALID,
epochs=10)
#not sure if this is the right way of training (alternate to above - anyway - this wasn't runnign and giving graph execution error)
history_n = model.fit(train_images, steps_per_epoch=len(train_images),
validation_data=test_images,
validation_steps=len(test_images), epochs=20)
#Attempt 2 - model with less parameters - 23 mn
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)))
model.add(MaxPooling2D((2, 2)))
#model.add(Dropout(0.5))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.25))
#model.add(Conv2D(64, (3, 3), activation='relu'))
#model.add(MaxPooling2D((2), 2))
model.add(Flatten())
#model.add(BatchNormalization())
model.add(Dense(128, activation='relu'))
#model.add(Dropout(0.5))
model.add(Dense(256, activation='relu'))
#model.add(Dropout(0.25))
model.add(Dense(196, activation='softmax'))
model.summary()
#Build the model with adam optimizer and categorical cross entropy loss function
model.compile(optimizer='adam',
loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
STEP_SIZE_TRAIN=train_images.n//train_images.batch_size
STEP_SIZE_VALID=test_images.n//test_images.batch_size
#yet to try and run this
model.fit_generator(generator=train_images,
steps_per_epoch=STEP_SIZE_TRAIN,
validation_data=test_images,
validation_steps=STEP_SIZE_VALID,
epochs=10)
# Same error as model A3, gives rise to error after 1 epoch
history_n = model.fit(train_images, steps_per_epoch=len(train_images),
validation_data=test_images,
validation_steps=len(test_images), epochs=10)
# Run 3 - trying with YOLO from Grear learning code
# https://www.mygreatlearning.com/blog/yolo-object-detection-using-opencv/
# Giving some errror - didnt try to debug
# Load Yolo - GL code
print("LOADING YOLO")
net = cv2.dnn.readNet("yolov3.weights", "yolov31.cfg")
#save all the names in file o the list classes
classes = []
with open("coco.names", "r") as f:
classes = [line.strip() for line in f.readlines()]
#get layers of the network
layer_names = net.getLayerNames()
#Determine the output layer names from the YOLO model
output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]
print("YOLO LOADED")
# Capture frame-by-frame
#img = cv2.imread("test_img.jpg")
img = ims[0]
#img = cv2.resize(img, None, fx=0.4, fy=0.4)
height, width, channels = img.shape
# USing blob function of opencv to preprocess image
blob = cv2.dnn.blobFromImage(img, 1 / 255.0, (416, 416),swapRB=True, crop=False)
#Detecting objects
net.setInput(blob)
outs = net.forward(output_layers)
# Showing informations on the screen
class_ids = []
confidences = []
boxes = []
for out in outs:
for detection in out:
scores = detection[5:]
class_id = np.argmax(scores)
confidence = scores[class_id]
if confidence > 0.5:
# Object detected
center_x = int(detection[0] * width)
center_y = int(detection[1] * height)
w = int(detection[2] * width)
h = int(detection[3] * height)
# Rectangle coordinates
x = int(center_x - w / 2)
y = int(center_y - h / 2)
boxes.append([x, y, w, h])
confidences.append(float(confidence))
class_ids.append(class_id)
#We use NMS function in opencv to perform Non-maximum Suppression
#we give it score threshold and nms threshold as arguments.
indexes = cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)
colors = np.random.uniform(0, 255, size=(len(classes), 3))
for i in range(len(boxes)):
if i in indexes:
x, y, w, h = boxes[i]
label = str(classes[class_ids[i]])
color = colors[class_ids[i]]
cv2.rectangle(img, (x, y), (x + w, y + h), color, 2)
cv2.putText(img, label, (x, y -5),cv2.FONT_HERSHEY_SIMPLEX,1/2, color, 2)
cv2.imshow("Image",img)
cv2.waitKey(0)
!python -V
import torch
print(torch.__version__)
# Note that some model code requires torch version < 1.9, but python 3.10 does not support torch models of this version
#Attempt 5 - RCNN
!pip install gluoncv
!pip install mxnet
!pip install --upgrade Pillow
!pip install torch>=1.4.0,<2.0.0
import mxnet as mx
import gluoncv
from google.colab.patches import cv2_imshow
from gluoncv import model_zoo, data, utils
net = model_zoo.get_model('faster_rcnn_resnet50_v1b_voc', pretrained=True)
#Attempt 7
#reference https://www.kaggle.com/code/deepbear/pytorch-car-classifier-90-accuracy
import matplotlib.pyplot as plt
import numpy as np
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
import torchvision.models as models
import torchvision.transforms as transforms
import time
import os
import PIL.Image as Image
from IPython.display import display
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device)
train_tfms = transforms.Compose([transforms.Resize((400, 400)),
transforms.RandomHorizontalFlip(),
transforms.RandomRotation(15),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
test_tfms = transforms.Compose([transforms.Resize((400, 400)),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
dataset = torchvision.datasets.ImageFolder(root=data_dir + data_dir_tmp + '/Car Images/Train Images', transform = train_tfms)
trainloader = torch.utils.data.DataLoader(dataset, batch_size = 32, shuffle=True, num_workers = 2)
dataset2 = torchvision.datasets.ImageFolder(root=data_dir + data_dir_tmp + '/Car Images/Test Images', transform = test_tfms)
testloader = torch.utils.data.DataLoader(dataset2, batch_size = 32, shuffle=False, num_workers = 2)
def train_model(model, criterion, optimizer, scheduler, n_epochs = 5):
losses = []
accuracies = []
test_accuracies = []
# set the model to train mode initially
model.train()
for epoch in range(n_epochs):
since = time.time()
running_loss = 0.0
running_correct = 0.0
for i, data in enumerate(trainloader, 0):
# get the inputs and assign them to cuda
inputs, labels = data
#inputs = inputs.to(device).half() # uncomment for half precision model
inputs = inputs.to(device)
labels = labels.to(device)
optimizer.zero_grad()
# forward + backward + optimize
outputs = model(inputs)
_, predicted = torch.max(outputs.data, 1)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
# calculate the loss/acc later
running_loss += loss.item()
running_correct += (labels==predicted).sum().item()
epoch_duration = time.time()-since
epoch_loss = running_loss/len(trainloader)
epoch_acc = 100/32*running_correct/len(trainloader)
print("Epoch %s, duration: %d s, loss: %.4f, acc: %.4f" % (epoch+1, epoch_duration, epoch_loss, epoch_acc))
losses.append(epoch_loss)
accuracies.append(epoch_acc)
# switch the model to eval mode to evaluate on test data
model.eval()
test_acc = eval_model(model)
test_accuracies.append(test_acc)
# re-set the model to train mode after validating
model.train()
scheduler.step(test_acc)
since = time.time()
print('Finished Training')
return model, losses, accuracies, test_accuracies
def eval_model(model):
correct = 0.0
total = 0.0
with torch.no_grad():
for i, data in enumerate(testloader, 0):
images, labels = data
#images = images.to(device).half() # uncomment for half precision model
images = images.to(device)
labels = labels.to(device)
outputs = model_ft(images)
_, predicted = torch.max(outputs.data, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
test_acc = 100.0 * correct / total
print('Accuracy of the network on the test images: %d %%' % (test_acc))
return test_acc
model_ft = models.resnet34(pretrained=True)
num_ftrs = model_ft.fc.in_features
# replace the last fc layer with an untrained one (requires grad by default)
model_ft.fc = nn.Linear(num_ftrs, 196)
model_ft = model_ft.to(device)
# uncomment this block for half precision model
"""
model_ft = model_ft.half()
for layer in model_ft.modules():
if isinstance(layer, nn.BatchNorm2d):
layer.float()
"""
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model_ft.parameters(), lr=0.01, momentum=0.9)
"""
probably not the best metric to track, but we are tracking the training accuracy and measuring whether
it increases by atleast 0.9 per epoch and if it hasn't increased by 0.9 reduce the lr by 0.1x.
However in this model it did not benefit me.
"""
lrscheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='max', patience=3, threshold = 0.9)
model_ft, training_losses, training_accs, test_accs = train_model(model_ft, criterion, optimizer, lrscheduler, n_epochs=10)
f, axarr = plt.subplots(2,2, figsize = (12, 8))
axarr[0, 0].plot(training_losses)
axarr[0, 0].set_title("Training loss")
axarr[0, 1].plot(training_accs)
axarr[0, 1].set_title("Training acc")
axarr[1, 0].plot(test_accs)
axarr[1, 0].set_title("Test acc")
def find_classes(dir):
classes = os.listdir(dir)
classes.sort()
class_to_idx = {classes[i]: i for i in range(len(classes))}
return classes, class_to_idx
classes, c_to_idx = find_classes(dataset_dir+"train")
# switch the model to evaluation mode to make dropout and batch norm work in eval mode
model_ft.eval()
# transforms for the input image
loader = transforms.Compose([transforms.Resize((400, 400)),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
image = Image.open(dataset_dir+"test/Mercedes-Benz C-Class Sedan 2012/01977.jpg")
image = loader(image).float()
image = torch.autograd.Variable(image, requires_grad=True)
image = image.unsqueeze(0)
image = image.cuda()
output = model_ft(image)
conf, predicted = torch.max(output.data, 1)
# get the class name of the prediction
display(Image.open(dataset_dir+"test/Mercedes-Benz C-Class Sedan 2012/01977.jpg"))
print(classes[predicted.item()], "confidence: ", conf.item())
def transform_classes(args):
"""
data/0/ -> 0
data/1/ -> 1
data/2/ -> 1
"""
new_classes = np.array([0,1,1])
x,y = args
y = np.argmax(y, axis=1) # One hot to integer
y = new_classes[y] # Changing the target
y = np.eye(2)[y] # Going back to one hot
return x,y
train_generator = map(transform_classes, train_generator)
# Creating train & test from their DataFrames
x_train = mapped_train['Image']
y_train = mapped_train['Class']
x_test = mapped_test['Image']
y_test = mapped_test['Class']
# Resizing the images, converting the grey ones to color and storing them in training array
training = []
for i in x_train:
color_img = i
try:
color_img = cv2.cvtColor(color_img, cv2.COLOR_RGB2GRAY)
except:
training.append(cv2.resize(color_img,(200,200)))
continue
training.append(cv2.resize(color_img,(200,200)))
training = np.asarray(training)
training.shape
plt.imshow(training[10])
# Resizing the images, converting the grey ones to color and storing them in testing array
testing = []
for i in x_test:
color_img = i
try:
color_img = cv2.cvtColor(color_img, cv2.COLOR_RGB2GRAY)
except:
testing.append(cv2.resize(color_img,(200,200)))
continue
testing.append(cv2.resize(color_img,(200,200)))
testing = np.asarray(testing)
testing.shape
plt.imshow(testing[10])
# Sharpening and normalizing the train images
kernel = np.array([[0, -1, 0],
[-1, 5, -1],
[0, -1, 0]])
new_train = []
for i in training:
sharpened = cv2.filter2D(i, -1, kernel)
img_normalized = cv2.normalize(sharpened, None, 0, 255, cv2.NORM_MINMAX)
new_train.append(img_normalized)
new_train = np.asarray(new_train)
new_train.shape
plt.imshow(new_train[10])
# Sharpening and normalizing the test images
new_test = []
for i in testing:
sharpened = cv2.filter2D(i, -1, kernel)
img_normalized = cv2.normalize(sharpened, None, 0, 255, cv2.NORM_MINMAX)
new_test.append(img_normalized)
new_test = np.asarray(new_test)
new_test.shape
plt.imshow(new_test[10])
classes = np.unique(y_train)
classes
class_labels = []
for c in classes:
val = np.where(merged_df1['Class'].eq(c))[0][0]
class_labels.append(merged_df1.iloc[val]['Label'])
class_labels
from sklearn.preprocessing import LabelBinarizer
lb = LabelBinarizer()
y_train_new = lb.fit_transform(y_train)
#y_train_new = np_utils.to_categorical(y_train)
y_train_new.shape
y_test_new = lb.fit_transform(y_test)
y_test_new.shape
from sklearn.preprocessing import LabelEncoder
from keras.utils import to_categorical
le = LabelEncoder()
train_label = le.fit_transform(y_train)
train_label = to_categorical(train_label)
train_label[0]
test_label = le.fit_transform(y_test)
test_label = to_categorical(test_label)
test_label[0]
import gc
del merged_df1
del testing
del training
del merged_df
del new_df
del df_train_images
del df_test_images
del train_images
del test_images
gc.collect()
new_train = np.expand_dims(new_train, axis=3)
new_test = np.expand_dims(new_test, axis=3)
def to_grayscale_then_rgb(image):
#image = tf.image.rgb_to_grayscale(image)
image = tf.image.grayscale_to_rgb(image)
return image
new_train = new_train/255.0
new_test = new_test/255.0
new_train[0]
generator = ImageDataGenerator(rotation_range = 100,zoom_range = 0.1,width_shift_range = 0.1,
height_shift_range = 0.1,horizontal_flip = True,vertical_flip = True
)
training_set = generator.flow(new_train,y_train,batch_size=32,seed=42,shuffle=True)
testing_set = generator.flow(new_test,y_test,batch_size=32,seed=42,shuffle=True)
# Creating a base CNN model to test the model's performance
model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(200, 200, 1)))
model.add(MaxPooling2D((2, 2)))
#model.add(Dropout(0.5))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Dropout(0.25))
#model.add(Conv2D(64, (3, 3), activation='relu'))
#model.add(MaxPooling2D((2), 2))
model.add(Flatten())
#model.add(BatchNormalization())
model.add(Dense(128, activation='relu'))
#model.add(Dropout(0.5))
model.add(Dense(256, activation='relu'))
#model.add(Dropout(0.25))
model.add(Dense(196, activation='softmax'))
model.compile(optimizer='adam',
loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
model.summary()
epochs=20
history = model.fit(new_train,
y_train_new,
validation_data=(new_test,y_test_new),
steps_per_epoch=len(new_train) // 32,
epochs=epochs,
batch_size = 32
)
#Model 2
model2 = Sequential([
tf.keras.layers.Rescaling(1./255, input_shape=(200, 200, 1)),
tf.keras.layers.Conv2D(16, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(32, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Conv2D(64, 3, padding='same', activation='relu'),
tf.keras.layers.MaxPooling2D(),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(196)
])
model2.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
arr = le.fit_transform(y_train)
arr1 = le.fit_transform(y_test)
tr = to_categorical(y_train)
tst = to_categorical(y_test)
len(tr)
epochs=10
history1 = model2.fit(new_train,arr,
validation_data=(new_test,arr1),
#steps_per_epoch=len(new_train) // 32,
epochs=epochs,
batch_size = 32
)
#Run till this point***
img1 = mapped_train['Image'][40]
img1 = np.asarray(img1)
image_test = np.asarray(img1)
plt.imshow(image_test)
kernel = np.array([[0, -1, 0],
[-1, 5, -1],
[0, -1, 0]])
sharpened = cv2.filter2D(image_test, -1, kernel)
plt.imshow(sharpened)
X = mapped_train['X'][40]
Y = mapped_train['Y'][40]
W = mapped_train['Width'][40]
H = mapped_train['Height'][40]
img_g = cv2.GaussianBlur(sharpened,(3,3),0)
plt.imshow(img_g)
# Resizing the image size to half ie., from 128X128 to 64X64
img_resized = cv2.resize(image_test,None,fx=0.50,fy=0.50)
#Applying Gaussian Blur
img_g = cv2.GaussianBlur(img_resized,(3,3),0)
#Displaying preprocessed and original images
print("Resized to 50% and applied Gaussian Blurring with kernel size 3X3")
plt.imshow(img_g)
mask = np.zeros(sharpened.shape[:2],np.uint8)
bgdModel = np.zeros((1,65),np.float64)
fgdModel = np.zeros((1,65),np.float64)
rect = (X,Y,W,H)
cv2.grabCut(sharpened,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask==2)|(mask==0),0,1).astype('uint8')
image_test1 = sharpened*mask2[:,:,np.newaxis]
plt.imshow(image_test1),plt.colorbar(),plt.show()
mask[mask2 == 0] = 0
mask[mask2 == 255] = 1
mask = np.zeros(image_test1.shape[:2],np.uint8)
mask, bgdModel, fgdModel = cv2.grabCut(image_test1,mask,None,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_MASK)
mask = np.where((mask==2)|(mask==0),0,1).astype('uint8')
image_test2 = image_test1*mask[:,:,np.newaxis]
plt.imshow(image_test2),plt.colorbar(),plt.show()
plt.imshow(image_test1)
grey = cv2.cvtColor(img_g, cv2.COLOR_BGR2GRAY)
plt.imshow(grey)
# perform image thresholding
ret, thresh = cv2.threshold(grey, 20, 255, cv2.THRESH_BINARY)
# plot image after thresholding
plt.imshow(thresh, cmap = 'gray')
# apply image dilation
kernel = np.ones((3,3),np.uint8)
dilated = cv2.dilate(thresh,kernel,iterations = 1)
# plot dilated image
plt.imshow(dilated, cmap = 'gray')
fast = cv2.fastNlMeansDenoisingColored(image_test, None, 10, 10, 7, 15)
plt.imshow(fast)
norm_img = np.zeros((image_test.shape[0], image_test.shape[1]))
image_test = cv2.normalize(image_test, norm_img, 0, 255, cv2.NORM_MINMAX)
plt.imshow(image_test)
def deskew(image):
co_ords = np.column_stack(np.where(image > 0))
angle = cv2.minAreaRect(co_ords)[-1]
if angle < -45:
angle = -(90 + angle)
else:
angle = -angle
(h, w) = image.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, angle, 1.0)
rotated = cv2.warpAffine(image, M, (w, h), flags=cv2.INTER_CUBIC,borderMode=cv2.BORDER_REPLICATE)
return rotated
# Convert the frame to grayscale for edge detection
gray = cv2.cvtColor(image_test, cv2.COLOR_BGR2GRAY)
# Apply Gaussian blur to reduce noise and smoothen edges
blurred = cv2.GaussianBlur(src=gray, ksize=(3, 5), sigmaX=0.5)
# Perform Canny edge detection
edges = cv2.Canny(blurred, 20, 200)
plt.imshow(edges)
contours, hierarchy = cv2.findContours(edges,
cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
imgn = cv2.drawContours(sharpened, contours, -1, (0, 255, 0), 3)
plt.imshow(imgn)
mobilenet_v2 = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4"
class DeepLabModel(object):
"""Class to load deeplab model and run inference."""
INPUT_TENSOR_NAME = 'ImageTensor:0'
OUTPUT_TENSOR_NAME = 'SemanticPredictions:0'
# INPUT_SIZE = 1024
INPUT_SIZE = 513
FROZEN_GRAPH_NAME = 'frozen_inference_graph'
def __init__(self, tarball_path):
"""Creates and loads pretrained deeplab model."""
self.graph = tf.Graph()
graph_def = None
# Extract frozen graph from tar archive.
tar_file = tarfile.open(tarball_path)
for tar_info in tar_file.getmembers():
if self.FROZEN_GRAPH_NAME in os.path.basename(tar_info.name):
file_handle = tar_file.extractfile(tar_info)
graph_def = tf.compat.v1.GraphDef.FromString(file_handle.read())
break
tar_file.close()
if graph_def is None:
raise RuntimeError('Cannot find inference graph in tar archive.')
with self.graph.as_default():
tf.import_graph_def(graph_def, name='')
self.sess = tf.compat.v1.Session(graph=self.graph)
def run(self, image):
"""Runs inference on a single image.
Args:
image: A PIL.Image object, raw input image.
Returns:
resized_image: RGB image resized from original input image.
seg_map: Segmentation map of `resized_image`.
"""
width = image.shape[0]
height = image.shape[1]
resize_ratio = 1.0 * self.INPUT_SIZE / max(width, height)
print(width, height)
print("Resize Ratio - {}".format(resize_ratio))
target_size = (int(resize_ratio * width), int(resize_ratio * height))
print(target_size)
# target_size = (width, height)
resized_image = Image.fromarray(np.array(image, dtype=np.float32)).convert('RGB').resize(target_size, Image.ANTIALIAS)
batch_seg_map = self.sess.run(
self.OUTPUT_TENSOR_NAME,
feed_dict={self.INPUT_TENSOR_NAME: [np.asarray(resized_image)]})
seg_map = batch_seg_map[0]
return resized_image, seg_map
def create_pascal_label_colormap():
"""Creates a label colormap used in PASCAL VOC segmentation benchmark.
Returns:
A Colormap for visualizing segmentation results.
"""
colormap = np.zeros((256, 3), dtype=int)
ind = np.arange(256, dtype=int)
for shift in reversed(range(8)):
for channel in range(3):
colormap[:, channel] |= ((ind >> channel) & 1) << shift
ind >>= 3
return colormap
def label_to_color_image(label):
"""Adds color defined by the dataset colormap to the label.
Args:
label: A 2D array with integer type, storing the segmentation label.
Returns:
result: A 2D array with floating type. The element of the array
is the color indexed by the corresponding element in the input label
to the PASCAL color map.
Raises:
ValueError: If label is not of rank 2 or its value is larger than color
map maximum entry.
"""
if label.ndim != 2:
raise ValueError('Expect 2-D input label')
colormap = create_pascal_label_colormap()
if np.max(label) >= len(colormap):
raise ValueError('label value too large.')
return colormap[label]
def vis_segmentation(image, seg_map):
"""Visualizes input image, segmentation map and overlay view."""
plt.figure(figsize=(15, 5))
grid_spec = gridspec.GridSpec(1, 4, width_ratios=[6, 6, 6, 1])
plt.subplot(grid_spec[0])
plt.imshow(image)
plt.axis('off')
plt.title('input image')
plt.subplot(grid_spec[1])
seg_image = label_to_color_image(seg_map).astype(np.uint8)
plt.imshow(seg_image)
plt.axis('off')
plt.title('segmentation map')
plt.subplot(grid_spec[2])
plt.imshow(image)
plt.imshow(seg_image, alpha=0.7)
plt.axis('off')
plt.title('segmentation overlay')
unique_labels = np.unique(seg_map)
ax = plt.subplot(grid_spec[3])
plt.imshow(
FULL_COLOR_MAP[unique_labels].astype(np.uint8), interpolation='nearest')
ax.yaxis.tick_right()
plt.yticks(range(len(unique_labels)), LABEL_NAMES[unique_labels])
plt.xticks([], [])
ax.tick_params(width=0.0)
plt.grid('off')
plt.show()
LABEL_NAMES = np.asarray([
'background', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus',
'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike',
'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tv'
])
FULL_LABEL_MAP = np.arange(len(LABEL_NAMES)).reshape(len(LABEL_NAMES), 1)
FULL_COLOR_MAP = label_to_color_image(FULL_LABEL_MAP)
import tarfile
import tempfile
import tensorflow as tf
from six.moves import urllib
MODEL_NAME = 'mobilenetv2_coco_voctrainaug' # @param ['mobilenetv2_coco_voctrainaug', 'mobilenetv2_coco_voctrainval', 'xception_coco_voctrainaug', 'xception_coco_voctrainval']_DOWNLOAD_URL_PREFIX = 'http://download.tensorflow.org/models/'
_MODEL_URLS = {
'mobilenetv2_coco_voctrainaug':
'deeplabv3_mnv2_pascal_train_aug_2018_01_29.tar.gz',
'mobilenetv2_coco_voctrainval':
'deeplabv3_mnv2_pascal_trainval_2018_01_29.tar.gz',
'xception_coco_voctrainaug':
'deeplabv3_pascal_train_aug_2018_01_04.tar.gz',
'xception_coco_voctrainval':
'deeplabv3_pascal_trainval_2018_01_04.tar.gz',
}
_TARBALL_NAME = 'deeplab_model.tar.gz'
model_dir = tempfile.mkdtemp()
tf.io.gfile.makedirs(model_dir)
download_path = os.path.join(model_dir, _TARBALL_NAME)
print('downloading model, this might take a while...')
urllib.request.urlretrieve('http://download.tensorflow.org/models/' + _MODEL_URLS[MODEL_NAME],
download_path)
print('download completed! loading DeepLab model...')
MODEL = DeepLabModel(download_path)
print('model loaded successfully!')
#global resized_im, seg_map
def run_visualization(image):
try:
#original_im = Image.open(IMAGE_NAME)
original_im = image
except IOError:
print('Cannot retrieve image. Please check url: ' + url)
returnprint('running deeplab on image')
resized_im, seg_map = MODEL.run(original_im)
vis_segmentation(resized_im, seg_map)
return resized_im, seg_map
resized_im, seg_map = MODEL.run(grey)
import matplotlib.gridspec as gridspec
vis_segmentation(resized_im, seg_map)
print(type(resized_im))
numpy_image = np.array(resized_im)
from copy import deepcopy
person_not_person_mapping = deepcopy(numpy_image)
person_not_person_mapping[seg_map != 7] = 0
person_not_person_mapping[seg_map == 7] = 255
plt.imshow(person_not_person_mapping)
orig_imginal = np.array(sharpened)
mapping_resized = cv2.resize(person_not_person_mapping,
(sharpened.shape[1],
sharpened.shape[0]),
Image.ANTIALIAS)
gray = cv2.cvtColor(mapping_resized, cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray,(15,15),0)
ret3,thresholded_img = cv2.threshold(blurred,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
plt.imshow(thresholded_img)
# Perform Canny edge detection
canny = cv2.Canny(person_not_person_mapping, 20, 200)
plt.imshow(canny)
sharpened_image = cv2.Laplacian(sharpened, cv2.CV_64F)
plt.imshow(sharpened_image)